home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / internet-drafts / draft-shenker-realtime-model-00.txt < prev    next >
Text File  |  1993-10-26  |  115KB  |  2,296 lines

  1. Internet Draft                                             Scott Shenker
  2. Expires: April 1994                                           Xerox PARC
  3. File: draft-shenker-realtime-model-00.txt                 David D. Clark
  4.                                                                      MIT
  5.                                                              Lixia Zhang
  6.                                                               Xerox PARC
  7.  
  8.           A Service Model for an Integrated Services Internet
  9.  
  10.  
  11.                             October 22, 1993
  12.  
  13. Status of Memo
  14.  
  15.    This document is an Internet-Draft.  Internet-Drafts are working
  16.    documents of the Internet Engineering Task Force (IETF), its Areas,
  17.    and its Working Groups.  Note that other groups may also distribute
  18.    working documents as Internet-Drafts.
  19.  
  20.    Internet-Drafts are draft documents valid for a maximum of six
  21.    months.  Internet-Drafts may be updated, replaced, or obsoleted by
  22.    other documents at any time.  It is not appropriate to use Internet-
  23.    Drafts as reference material or to cite them other than as a "working
  24.    draft" or "work in progress."
  25.  
  26. Abstract
  27.  
  28.    The Internet is currently being confronted with service demands from
  29.    a new generation of applications.  Supporting these applications
  30.    effectively and efficiently will require extending the current
  31.    Internet "best-effort" service model to one that offers an integrated
  32.    suite of services.  The purpose of this memo (which is derived
  33.    primarily from [1]) is to describe a proposed "core" service model
  34.    for an integrated services Internet.  In the Appendix we discuss the
  35.    process by which such a service model could be standardized by the
  36.    IETF.
  37.  
  38. 1 Introduction
  39.  
  40.    The current Internet offers a very simple service model: all packets
  41.    receive the same "best effort" service.  The term "best effort" means
  42.    that the network tries to forward packets as soon as possible, but
  43.    makes no quantitative commitments about the quality of service
  44.    delivered.  This service model can be realized by using a single FIFO
  45.    queue to do packet scheduling in the switches; in fact, this service
  46.    model arose precisely because FIFO packet scheduling, without
  47.    admission control, cannot efficiently deliver any other service
  48.    model.  This single class "best effort" service model provides the
  49.  
  50.  
  51.  
  52. Shenker, Clark, Zhang                                           [Page 1]
  53.  
  54.  
  55.  
  56.  
  57. Internet Draft      Integrated Service Architecture         October 1993
  58.  
  59.  
  60.    same quality of service to all flows [Note 1] ; this uniform quality
  61.    of service is good, as measured by delay and dropped packets, when
  62.    the network is lightly loaded but can be quite poor when the network
  63.    is heavily utilized.  Consequently, only those applications that are
  64.    rather tolerant of this variable service, such as file transfer
  65.    (e.g., FTP), electronic mail, and interactive terminals (e.g.,
  66.    Telnet) have become widely adopted in the Internet.
  67.  
  68.    However, we expect there to soon be widespread demand for an emerging
  69.    generation of computer based applications, such as FAX, remote video,
  70.    multimedia conferencing, data fusion, remote X-terminals,
  71.    visualization, and virtual reality.  These applications represent a
  72.    wide variety of quality of service requirements, ranging from the
  73.    asynchronous nature of FAX and electronic mail to the extremely
  74.    time-sensitive nature of high quality audio, and from the low
  75.    bandwidth requirements of Telnet to the bandwidth intensive
  76.    requirements of HDTV.  To meet all of these service requirements
  77.    using the current Internet service model, it would be necessary (but
  78.    perhaps not sufficient) to keep the utilization level extremely low.
  79.    We think a better solution is to offer a more sophisticated service
  80.    model, so that applications can specify their service needs and the
  81.    network can then allocate its resources selectively towards those
  82.    applications that are more performance sensitive.  It is important to
  83.    emphasize that this solution requires that applications explicitly
  84.    specify their service desires; these needs are not derived implicitly
  85.    by the network through the inspection of port numbers.
  86.  
  87.    The service model is the enduring, and therefore the most
  88.    fundamental, part of a network architecture.  The service model will
  89.    be incorporated into the network service interface used by future
  90.    applications; as such, it will define the set of services they can
  91.    request, and will therefore influence the design of future
  92.    applications as well as the performance of existing ones.  Thus, the
  93.    service model should not be designed in reference to any specific
  94.    network artifact but rather should be based on fundamental service
  95.    requirements.  While both the underlying network technology and the
  96.    overlying suite of applications will evolve, the need for
  97.    compatibility requires that this service interface remain relatively
  98.    stable.  Actually, compatibility only demands that the existing parts
  99.    of the service model must remain largely unchanged; the service model
  100.    should be extensible with augmentations handled without difficulty.
  101.    Also, we should note that these compatibility arguments apply "only"
  102. _________________________
  103. [Note 1] "Flow" is the term we use to refer  to  end-to-end  connections
  104. and  other more general varieties of traffic streams.  We will return to
  105. this issue in Section 2 where we discuss multicast flows more  explicit-
  106. ly.
  107.  
  108.  
  109.  
  110.  
  111. Shenker, Clark, Zhang                                           [Page 2]
  112.  
  113.  
  114.  
  115.  
  116. Internet Draft      Integrated Service Architecture         October 1993
  117.  
  118.  
  119.    to those aspects of the service model which are part of the network
  120.    service interface; the service model will also have some components
  121.    (e.g., the link-sharing services as defined in Section 3) which are
  122.    exercised through a network management interface, and here the
  123.    compatibility arguments do not apply with nearly the same force.
  124.  
  125.    This memo proposes a core service model for the Internet.  We address
  126.    those services which relate most directly to the time-of-delivery of
  127.    packets.  We do not address those services which are concerned with
  128.    which network links are used (which is the domain of routing) and
  129.    those services which involve encryption, security, authentication, or
  130.    transmission reliability.  We also do not consider services, such as
  131.    reliable multicast, which do tangentially involve the time-of-
  132.    delivery but which more fundamentally involve other factors such as
  133.    buffer management and inter-switch acknowledgment algorithms.
  134.    Furthermore, we do not consider time-of-delivery services which can
  135.    best be delivered at the end host or by gateway switches at the edge
  136.    of the network, such as synchronization of different traffic streams.
  137.    Although many of the services listed above may perhaps be offered in
  138.    the future, we do not expect that they will affect the basic core of
  139.    the service model which we discuss here.
  140.  
  141.    In order to efficiently support this more sophisticated service
  142.    model, Internet routers must employ an appropriately sophisticated
  143.    non-FIFO packet scheduling algorithm.  In fact, the packet scheduling
  144.    algorithm is the most fundamental way in which the network can
  145.    allocate resources selectively; the network can also allocate
  146.    selectively via routing or buffer management algorithms, but neither
  147.    of these by themselves can support a sufficiently general service
  148.    model (see [10,6,7,15,9,11,13,29,18,19] for a few examples of packet
  149.    scheduling algorithms).  However, packet scheduling algorithms are
  150.    only part of a complete mechanism to support explicit qualities of
  151.    service. In particular, since resources are finite, one cannot always
  152.    support an unbounded number of service requests. The network must
  153.    employ some form of admission algorithm so that it has control over
  154.    which service commitments are made.  The admission process requires
  155.    that flows characterize their traffic stream to the network when
  156.    requesting service, and the network then determines whether or not to
  157.    grant the service request.  It is important to keep in mind that
  158.    admission control plays a crucial role in allowing these scheduling
  159.    algorithms to be effective by keeping the aggregate traffic load down
  160.    to a level where meeting the service commitments is feasible (see
  161.    [7,20,22,24] for a few examples of admission control algorithms).  In
  162.    fact, admission control is but one kind of denial of service; we will
  163.    discuss the several varieties of denial of service and their role in
  164.    allowing the scheduling algorithm to meet service commitments.
  165.  
  166.    This memo has 2 sections.  In Section 30 we identify the two kinds of
  167.  
  168.  
  169.  
  170. Shenker, Clark, Zhang                                           [Page 3]
  171.  
  172.  
  173.  
  174.  
  175. Internet Draft      Integrated Service Architecture         October 1993
  176.  
  177.  
  178.    service commitments we expect future networks to make; these are
  179.    quality of service commitments to individual flows and resource-
  180.    sharing commitments to collective entities.  In Section 31 we explore
  181.    the service requirements of individual flows and then propose a
  182.    corresponding set of service models.  In Section 3 we discuss the
  183.    service requirements for resource-sharing commitments to collective
  184.    entities, and propose a related service model.    In Section 32, we
  185.    review the various forms denial of service can manifest, and the ways
  186.    in which denial of service can be used to augment the core service
  187.    model.  We then conclude in Section 2 by discussing other viewpoints.
  188.    In an Appendix we discuss how the Internet community can standardize
  189.    a new service model.
  190.  
  191. 2 Service Commitments
  192.  
  193.    A service model is made up of service commitments; that is, a service
  194.    model describes what service the network commits to deliver in
  195.    response to a particular service request.  In this section, we
  196.    describe the various different kinds of service commitments that are
  197.    included in our core service model.
  198.  
  199.    Service commitments can be divided up into two classes, depending on
  200.    the way in which the service is characterized.  One class of service
  201.    commitment is a quantitative or absolute service commitment, which is
  202.    some form of assurance that the network service will meet or exceed
  203.    the agreed upon quantitative specifications; a typical example of
  204.    this is a bound on maximal packet delay.  The other class of service
  205.    commitment is a qualitative or relative service commitment, which is
  206.    merely some form of assurance about how one set of packets will be
  207.    treated relative to other sets of packets.  One example of this kind
  208.    of relative service commitment is to offer several different priority
  209.    classes; the service in any priority class is not quantitatively
  210.    characterized, but there is a relative commitment to serve traffic in
  211.    a given priority class before traffic in lower priority classes.
  212.    Thus, when we say that the current Internet offers only a single
  213.    "best-effort" class of service, this is equivalent to saying that it
  214.    does not offer any quantitative service commitments, and only offers
  215.    the most trivial relative service commitment to treat all packets
  216.    equivalently.  An important distinction between these two classes of
  217.    commitments is that quantitative service commitments often inherently
  218.    require some form of admission control, with the flow characterizing
  219.    its traffic in some manner; in contrast, relative service commitments
  220.    generally do not require any admission control.
  221.  
  222.    Service commitments can also be divided into two categories depending
  223.    on the entities to which the commitments are made.  The first
  224.    category of service commitments is the one most often considered in
  225.    the current literature; these are quality of service commitments to
  226.  
  227.  
  228.  
  229. Shenker, Clark, Zhang                                           [Page 4]
  230.  
  231.  
  232.  
  233.  
  234. Internet Draft      Integrated Service Architecture         October 1993
  235.  
  236.  
  237.    individual flows.  In this case the network provides some form of
  238.    assurance that the quality of service delivered to the contracting
  239.    flow will meet or exceed the agreed upon specifications.  The need
  240.    for these kinds of service commitments is usually driven by the
  241.    ergonomic requirements of individual applications.  For instance, the
  242.    perceived quality of many interactive audio and video applications
  243.    declines dramatically when the delay of incoming packets becomes too
  244.    large; thus, these applications would perform better if the network
  245.    would commit to a small bound on the maximum packet queueing delay.
  246.    In Section 3 we discuss what quality of service commitments are
  247.    included in our core service model.
  248.  
  249.    In contrast, the second category of service commitment we consider
  250.    has rarely been explicitly discussed in the research literature, even
  251.    though there is widespread agreement in the industry that there is
  252.    great customer demand for this feature; these are resource-sharing
  253.    commitments to collective entities.  In this case, the network
  254.    provides an assurance that the resource in question will be shared
  255.    according to some prearranged convention among some set of collective
  256.    entities.  These collective entities could, for example, be
  257.    institutions, protocol families, or application types.  An example of
  258.    the need for such resource-sharing commitments is when two private
  259.    companies choose to jointly purchase a fiber optic link and then
  260.    elect to share the bandwidth in proportion to the capital investments
  261.    of the two companies.  In Section 4, we present a more detailed
  262.    motivation for this form of service commitment and then discuss the
  263.    particular resource-sharing commitments that are part of our core
  264.    service model.
  265.  
  266.    We should reiterate that because the quality of service service
  267.    commitments to individual flows will typically be invoked through the
  268.    service interface, compatibility requires that their definition
  269.    remain relatively stable.  The resource sharing commitments will
  270.    typically be invoked through a network management interface, not
  271.    through the service interface used by applications, and therefore the
  272.    need for compatibility does not require such a stable service
  273.    definition.
  274.  
  275. 3 Quality of Service Requirements and Service Models
  276.  
  277.    In the previous section, we distinguished two sorts of service
  278.    requirements, quality of service requirements and resource sharing
  279.    requirements. In this section we consider quality of service
  280.    requirements. We first argue that packet delay is the key measure of
  281.    quality of service.  We then present our assumptions about the nature
  282.    of future computer-based applications and their service requirements.
  283.    Finally, we describe a set of quality of service commitments designed
  284.    to meet these service requirements.
  285.  
  286.  
  287.  
  288. Shenker, Clark, Zhang                                           [Page 5]
  289.  
  290.  
  291.  
  292.  
  293. Internet Draft      Integrated Service Architecture         October 1993
  294.  
  295.  
  296.    3.1 The Centrality of Delay
  297.  
  298.       There is one measure of service that is relevant to almost all
  299.       applications: per-packet delay.  In some sense, delay is the
  300.       fundamental measure of the service given to a packet, since it
  301.       describes when (and if) a packet is delivered and, if we assume
  302.       that data is never corrupted (which we think is a good
  303.       approximation for the future Internet [Note 2] ), the time of
  304.       delivery is the only quantity of interest to applications.  Delay
  305.       is clearly the most central quality of service, and we will
  306.       therefore start by assuming that the only qualities of service
  307.       about which the network makes commitments relate to per-packet
  308.       delay.  Later, in Section 2 we will return to this point and ask
  309.       if the service model that results from this initial assumption is
  310.       sufficiently general.
  311.  
  312.       In addition to restricting our attention to delay, we make the
  313.       even more restrictive assumption that the only quantity about
  314.       which we make quantitative service commitments are bounds on the
  315.       maximum and minimum delays.  Thus, we have excluded quantitative
  316.       service commitments about other delay related qualities of
  317.       service, such as targets for average delay.  This is based on
  318.       three judgments. First, controlling nonextremal values of delay
  319.       through packet scheduling algorithms is usually impractical
  320.       because it requires detailed knowledge of the actual load, rather
  321.       than just knowledge of the best and worst case loads.  Second,
  322.       even if one could control nonextremal measures of packet delay for
  323.       the aggregate traffic in the network, this does not control the
  324.       value of such measures for individual flows; e.g., the average
  325.       delay observed by a particular flow need not be the same as, or
  326.       even bounded by, the average of the aggregate (see [33] for a
  327.       discussion of related issues).  Thus, controlling nonextremal
  328.       measures of delay for the aggregate is not sufficient, and we
  329.       judge it impractical to control nonextremal measures of delay for
  330.       each individual flow.  Third, as will be argued in the next
  331.       section, applications that require quantitative delay bounds are
  332.       more sensitive to the extremes of delay than the averages or other
  333.       statistical measures, so even if other delay related qualities of
  334.       service were practical they would not be particularly useful. We
  335.       discuss this in the section below when we discuss real-time
  336.       applications.
  337.  
  338.       Why have we not included bandwidth as a quality of service about
  339. _________________________
  340. [Note 2] For those links where this is not a good approximation, such as
  341. some  wireless links, we expect there to be hop-by-hop error recovery so
  342. that at the network level there is a low error rate.
  343.  
  344.  
  345.  
  346.  
  347. Shenker, Clark, Zhang                                           [Page 6]
  348.  
  349.  
  350.  
  351.  
  352. Internet Draft      Integrated Service Architecture         October 1993
  353.  
  354.  
  355.       which the network makes commitments?  This is primarily because,
  356.       for applications which care about the time-of-delivery of each
  357.       packet, the description of per-packet delay is sufficient.  The
  358.       application determines its bandwidth needs, and these needs are
  359.       part of the traffic characterization passed to the network's
  360.       admission control algorithm; it is the application which then has
  361.       to make a commitment about the bandwidth of its traffic (when
  362.       requesting a quantitative service commitment from the network),
  363.       and the network in turn makes a commitment about delay.  However,
  364.       there are some applications which are essentially indifferent to
  365.       the time-of-delivery of individual packets; for example, when
  366.       transferring a very long file the only relevant measure of
  367.       performance is the finish time of the transfer, which is almost
  368.       exclusively a function of the bandwidth.  We discuss such
  369.       applications at the end of Section 2.
  370.  
  371.  
  372.    3.2 Application Delay Requirements
  373.  
  374.       The degree to which application performance depends on low delay
  375.       service varies widely, and we can make several qualitative
  376.       distinctions between applications based on the degree of their
  377.       dependence.  One class of applications needs the data in each
  378.       packet by a certain time and, if the data has not arrived by then,
  379.       the data is essentially worthless; we call these real-time
  380.       applications.  Another class of applications will always wait for
  381.       data to arrive; we call these elastic applications.  We now
  382.       consider the delay requirements of these two classes separately.
  383.       For the purposes of the discussion that follows, we assume that
  384.       all applications involve point-to-point communication, with all
  385.       packets requiring the same service.  At the end of Section 2 we
  386.       discuss the case of multipoint-to-multipoint communication.  In
  387.       Section 32 we address the case where some packets in a flow are
  388.       more important than others.
  389.  
  390.       3.2.1 Real-Time Applications
  391.  
  392.          An important class of such real-time applications, which are
  393.          the only real-time applications we explicitly consider in the
  394.          arguments that follow, are "playback" applications.  In a
  395.          playback application, the source takes some signal, packetizes
  396.          it, and then transmits the packets over the network.  The
  397.          network inevitably introduces some variation in the delay of
  398.          the delivered packets.  This variation in delay has
  399.          traditionally been called "jitter".  The receiver depacketizes
  400.          the data and then attempts to faithfully play back the signal.
  401.          This is done by buffering the incoming data to remove the
  402.          network induced jitter and then replaying the signal at some
  403.  
  404.  
  405.  
  406. Shenker, Clark, Zhang                                           [Page 7]
  407.  
  408.  
  409.  
  410.  
  411. Internet Draft      Integrated Service Architecture         October 1993
  412.  
  413.  
  414.          fixed offset delay from the original departure time; the term
  415.          "playback point" refers to the point in time which is offset
  416.          from the original departure time by this fixed delay.  Any data
  417.          that arrives before its associated playback point can be used
  418.          to reconstruct the signal; data arriving after the playback
  419.          point is essentially useless in reconstructing the real-time
  420.          signal [Note 3] purposes of discussion, let us temporarily
  421.          assume that such playback applications have some intrinsic data
  422.          generation process that is unalterable; later in this section
  423.          we will return to this point.
  424.  
  425.          In order to choose a reasonable value for the offset delay, an
  426.          application needs some "a priori" characterization of the
  427.          maximum delay its packets will experience.  This "a priori"
  428.          characterization could either be provided by the network in a
  429.          quantitative service commitment to a delay bound, or through
  430.          the observation of the delays experienced by the previously
  431.          arrived packets; the application needs to know what delays to
  432.          expect, but this expectation need not be constant for the
  433.          entire duration of the flow.
  434.  
  435.          The performance of a playback application is measured along two
  436.          dimensions:  latency and fidelity.  In general, latency is the
  437.          delay between the two (or more) ends of a distributed
  438.          application; for playback applications, latency is the delay
  439.          between the time the signal is generated at the source and the
  440.          time the signal is played back at the receiver, which is
  441.          exactly the offset delay.  Applications vary greatly in their
  442.          sensitivity to latency.  Some playback applications, in
  443.          particular those that involve interaction between the two ends
  444.          of a connection such as a phone call, are rather sensitive to
  445.          the value of the offset delay; other playback applications,
  446.          such as transmitting a movie or lecture, are not.
  447.  
  448.          Fidelity is the measure of how faithful the playback signal is
  449.          to the original signal.  The playback signal is incomplete when
  450.          packets arrive after their playback point and thus are dropped
  451.          rather than played back.  The playback signal becomes distorted
  452.          when the offset delay is varied.  Therefore, fidelity is
  453.          decreased whenever the offset delay is varied and whenever
  454.          packets miss their playback point.  Applications exhibit a wide
  455.          range of sensitivity to loss of fidelity.  We will consider two
  456.          somewhat artificially dichotomous classes: intolerant
  457. _________________________
  458. [Note 3] It is an oversimplification to say that the data is useless; we
  459. discuss  below  that  a  receiving application could adjust the playback
  460. point as an alternative to discarding late packets.
  461.  
  462.  
  463.  
  464.  
  465. Shenker, Clark, Zhang                                           [Page 8]
  466.  
  467.  
  468.  
  469.  
  470. Internet Draft      Integrated Service Architecture         October 1993
  471.  
  472.  
  473.          applications, which require an absolutely faithful playback,
  474.          and tolerant applications, which can tolerate some loss of
  475.          fidelity [Note 4].  Intolerance to loss of fidelity might arise
  476.          because of user requirements (e.g., distributed symphony
  477.          rehearsal), or because the application hardware or software is
  478.          unable to cope with missing pieces of data.  On the other hand,
  479.          users of tolerant applications, as well as the application
  480.          hardware and software, are prepared to accept occasional
  481.          distortions in the signal.  We expect that the vast bulk of
  482.          audio and video applications will be tolerant.
  483.  
  484.          Delay can affect the performance of playback applications in
  485.          two ways.  First, the value of the offset delay, which is
  486.          determined by predictions about the future packet delays,
  487.          determines the latency of the application.  Second, the delays
  488.          of individual packets can decrease the fidelity of the playback
  489.          by exceeding the offset delay; the application then can either
  490.          change the offset delay in order to play back late packets
  491.          (which introduces distortion) or merely discard late packets
  492.          (which creates an incomplete signal).  The two different ways
  493.          of coping with late packets offer a choice between an
  494.          incomplete signal and a distorted one, and the optimal choice
  495.          will depend on the details of the application, but the
  496.          important point is that late packets necessarily decrease
  497.          fidelity.
  498.  
  499.          Intolerant applications must use a fixed offset delay, since
  500.          any variation in the offset delay will introduce some
  501.          distortion in the playback.  For a given distribution of packet
  502.          delays, this fixed offset delay must be larger than the
  503.          absolute maximum delay, to avoid the possibility of late
  504.          packets.  In contrast, tolerant applications need not set their
  505.          offset delay greater than the absolute maximum delay, since
  506.          they can tolerate some late packets.  Moreover, tolerant
  507.          applications can vary the offset delay to some extent, as long
  508.          as it doesn't create too much distortion.
  509.  
  510.          Thus, tolerant applications have a much greater degree of
  511.          flexibility in how they set and adjust their offset delay.  In
  512.          particular, instead of using a single fixed value for the
  513.          offset delay, they can attempt to reduce their latency by
  514.          varying their offset delays in response to the actual packet
  515. _________________________
  516. [Note 4] Obviously, applications lie on a continuum in their sensitivity
  517. to  fidelity.  Here we are merely considering two cases as a pedagogical
  518. device to motivate our service model, which indeed applies to  the  full
  519. spectrum of applications.
  520.  
  521.  
  522.  
  523.  
  524. Shenker, Clark, Zhang                                           [Page 9]
  525.  
  526.  
  527.  
  528.  
  529. Internet Draft      Integrated Service Architecture         October 1993
  530.  
  531.  
  532.          delays experienced in the recent past.  We call applications
  533.          which vary their offset delays in this manner "adaptive"
  534.          playback applications (a more precise term is "delay-adaptive"
  535.          playback applications, to distinguish it from the "rate-
  536.          adaptive" playback applications we discuss below).  This
  537.          adaptation amounts to gambling that the past packet delays are
  538.          good predictors of future packet delays; when the application
  539.          loses the gamble there is a momentary loss of data as packets
  540.          miss their playback points, but since the application is
  541.          tolerant of such losses the decreased offset delay may be worth
  542.          it.  Besides the issue of inducing late packets, there is a
  543.          complicated tradeoff between the advantage of decreased offset
  544.          delay and the disadvantage of reduced fidelity due to
  545.          variations in the offset.  Thus, how aggressively an
  546.          application adapts, or even if it adapts at all, depends on the
  547.          relative ergonomic impact of fidelity and latency.  Our main
  548.          observation here, though, is that by adapting to the delays of
  549.          incoming packets, tolerant playback applications can often
  550.          profit by reducing their offset delay when the typical delays
  551.          are well below the absolute maximum; this advantage, of course,
  552.          is accompanied by the risk of occasional late packets.
  553.  
  554.          So far we have assumed that an application's data generation
  555.          process is unalterable.  However, there are likely to be many
  556.          audio and video applications which can adjust their coding
  557.          scheme and thus can alter the resulting data generation
  558.          process.  This alteration of the coding scheme will present a
  559.          tradeoff between fidelity (of the coding scheme itself, not of
  560.          the playback process) and the bandwidth requirements of the
  561.          flow.  Such "rate-adaptive" playback applications have the
  562.          advantage that they can adjust to the current network
  563.          conditions not just by resetting their playback point but also
  564.          by adjusting the traffic pattern itself.
  565.  
  566.          We now state several of our assumptions about the nature of
  567.          future real-time applications.  First, we believe that most
  568.          audio and video applications will be playback applications, and
  569.          we therefore think that playback applications will be the
  570.          dominant category of real-time traffic.  By designing a service
  571.          model that is appropriate for these playback applications, we
  572.          think we will have satisfactorily (but perhaps not optimally)
  573.          met the needs of all real-time applications.  Second, we
  574.          believe that the vast majority of playback applications will be
  575.          tolerant and that many, if not most, of these tolerant playback
  576.          applications will be adaptive.  The idea of adaptive
  577.          applications is not relevant to circuit switched networks,
  578.          which do not have jitter due to queueing.  Thus, most real-time
  579.          devices today, like voice and video codecs, are not adaptive.
  580.  
  581.  
  582.  
  583. Shenker, Clark, Zhang                                          [Page 10]
  584.  
  585.  
  586.  
  587.  
  588. Internet Draft      Integrated Service Architecture         October 1993
  589.  
  590.  
  591.          Lack of widespread experience may raise the concern that
  592.          adaptive applications will be difficult to build.  However,
  593.          early experiments suggest that it is actually rather easy.
  594.          Video can be made to adapt by dropping or replaying a frame as
  595.          necessary, and voice can adapt imperceptibly by adjusting
  596.          silent periods.  In fact, such adaptive approaches have been
  597.          employed in packetized voice applications since the early 70's
  598.          (see [34,36]); the VT [37], NEVOT [38], and VAT [] packet voice
  599.          protocols, which are currently used to transmit voice on the
  600.          Internet, are living examples of such adaptive applications.
  601.  
  602.          Third, we believe that most playback applications will have
  603.          sufficient buffering to store packets until their playback
  604.          point.  We base our belief on the fact that the storage needed
  605.          is a function of the queueing delays, not the total end-to-end
  606.          delay.  There is no reason to expect that queueing delays for
  607.          playback applications will increase as networks get faster (in
  608.          fact, for an M/M/1 queueing system with a fixed utilization,
  609.          queueing delays are inversely proportional to the speed), and
  610.          it is certainly true that memory is getting cheaper, so
  611.          providing sufficient buffering will become increasingly
  612.          practical.  Fourth, and last, we assume that applications have
  613.          sufficient knowledge about time to set the playback point.  The
  614.          notion of a playback application implies that such applications
  615.          have some knowledge about the original generation time of the
  616.          data.  This knowledge could either be explicitly contained in
  617.          timestamps, or an approximation could be implicitly obtained by
  618.          knowing the inter-packet generation intervals of the source.
  619.  
  620.       3.2.2 Elastic Applications
  621.  
  622.          While real-time applications do not wait for late data to
  623.          arrive, elastic applications will always wait for data to
  624.          arrive.  It is not that these applications are insensitive to
  625.          delay; to the contrary, significantly increasing the delay of a
  626.          packet will often harm the application's performance.  Rather,
  627.          the key point is that the application typically uses the
  628.          arriving data immediately, rather than buffering it for some
  629.          later time, and will always choose to wait for the incoming
  630.          data rather than proceed without it.  Because arriving data can
  631.          be used immediately, these applications do not require any a
  632.          priori characterization of the service in order for the
  633.          application to function.  Generally speaking, it is likely that
  634.          for a given distribution of packet delays, the perceived
  635.          performance of elastic applications will tend to depend more on
  636.          the average delay than on the tail of the distribution.  One
  637.          can think of several categories of such elastic applications:
  638.          interactive burst (Telnet, X, NFS), interactive bulk transfer
  639.  
  640.  
  641.  
  642. Shenker, Clark, Zhang                                          [Page 11]
  643.  
  644.  
  645.  
  646.  
  647. Internet Draft      Integrated Service Architecture         October 1993
  648.  
  649.  
  650.          (FTP), and asynchronous bulk transfer (electronic mail, FAX).
  651.          The delay requirements of these elastic applications vary from
  652.          rather demanding for interactive burst applications to rather
  653.          lax for asynchronous bulk transfer, with interactive bulk
  654.          transfer being intermediate between them.
  655.  
  656.          Some elastic applications, like Telnet, have an intrinsic data
  657.          generation process which is largely independent of network
  658.          conditions.  However, there are many elastic applications, in
  659.          particular those involving bulk transfer, which can alter their
  660.          packet transmission process.
  661.  
  662.    3.3 Delay Service Models
  663.  
  664.       We now turn to describing service models that are appropriate for
  665.       the various classes of applications that were discussed in the
  666.       previous paragraphs.  Since we are assuming that playback
  667.       applications comprise the bulk of the real-time traffic, we must
  668.       design service models for intolerant playback applications,
  669.       tolerant playback applications (which can be either adaptive or
  670.       non-adaptive), rate-adaptive playback applications (which can be
  671.       either tolerant or intolerant), and elastic applications.
  672.  
  673.       The offset delay of intolerant playback applications must be no
  674.       smaller than the maximum packet delay to achieve the desired
  675.       faithful playback.  Furthermore, this offset delay must be set
  676.       before any packet delays can be observed.  Such an application can
  677.       only set its offset delay appropriately if it is given a perfectly
  678.       reliable [Note 5] upper bound on the maximum delay of each packet.
  679.       We call a service characterized by a perfectly reliable upper
  680.       bound on delay "guaranteed service", and propose this as the
  681.       appropriate service model for intolerant playback applications.
  682.       Note that the delay bound not only allows the application to set
  683.       its offset delay appropriately, but it also provides the
  684.       information necessary to predict the resulting latency of the
  685.       application.
  686.  
  687.       Since such an intolerant playback application will queue all
  688.       packets until their respective playback points, application
  689.       performance is completely independent of when the packets arrive,
  690.       as long as they arrive within the delay bound.  The fact that we
  691.       assume that there is sufficient buffering means that we need not
  692. _________________________
  693. [Note 5] By perfectly reliable, we mean that the bound is based on worst
  694. case assumptions about the behavior of all other flows.  The validity of
  695. the bound is  predicated  on  the  proper  functioning  of  all  network
  696. hardware and software along the path of the flow.
  697.  
  698.  
  699.  
  700.  
  701. Shenker, Clark, Zhang                                          [Page 12]
  702.  
  703.  
  704.  
  705.  
  706. Internet Draft      Integrated Service Architecture         October 1993
  707.  
  708.  
  709.       provide a nontrivial lower bound to delay; only the trivial "no-
  710.       queueing" minimum delay will be given as part of the service
  711.       specification.
  712.  
  713.       A tolerant playback application which is not adaptive will also
  714.       need some form of a delay bound so that it can set its offset
  715.       delay appropriately.  Since the application is tolerant of
  716.       occasional late packets, this bound need not be perfectly
  717.       reliable.   For this class of applications we propose a service
  718.       model called "predictive service" which supplies a fairly
  719.       reliable, but not perfectly reliable, delay bound.  For this
  720.       service, the network advertises a bound which it has reason to
  721.       believe with great confidence will be valid, but cannot formally
  722.       "prove" its validity [Note 6] violated, the application's
  723.       performance will perhaps suffer, but the users are willing to
  724.       tolerate such interruptions in service in return for the presumed
  725.       lower cost of the service and lower realized delays [Note 7]
  726.  
  727.       It is important to emphasize that this is "not" a statistical
  728.       bound, in that no statistical failure rate is provided to the
  729.       application in the service description.  We do not think it
  730.       feasible to provide a statistical characterization of the delay
  731.       distribution because that would require a detailed statistical
  732.       characterization of the load.  We do envision the network ensuring
  733.       the reliability of these predictive bounds, but only over very
  734.       long time scales; for instance, the network could promise that no
  735.       more than a certain fraction of packets would violate the
  736.       predictive bounds over the course of a month  [Note 8] is not a
  737. _________________________
  738. [Note 6] This bound, in contrast to the bound in the guaranteed service,
  739. is  not  based on worst case assumptions on the behavior of other flows.
  740. Instead, this bound might be computed with properly conservative predic-
  741. tions about the behavior of other flows.
  742. [Note  7]  For  nonadaptive  applications, the realized latency is lower
  743. with predictive service since the fairly reliable bounds  will  be  less
  744. conservative  than  the perfectly reliable bounds of guaranteed service.
  745. For adaptive applications, as we discuss below, the minimax component of
  746. predictive  service  can, and we expect usually will, reduce the average
  747. latency, i.e. the average value of the offset delay, to  be  well  below
  748. the advertised bound.
  749. [Note  8]  Such  an  assurance  is not meaningful to an individual flow,
  750. whose service over a short time interval might  be  significantly  worse
  751. than  the  nominal failure rate.  We envision that such assurances would
  752. be directed at the regulatory bodies which will supervise  the  adminis-
  753. tration  of  such networks.  However, we should note that there may very
  754. well be pricing schemes which refund money if the service  delivered  to
  755. an  individual  application  doesn't meet some standard (such as a given
  756. fraction of packets obey the delay bound); this is not a service commit-
  757.  
  758.  
  759.  
  760. Shenker, Clark, Zhang                                          [Page 13]
  761.  
  762.  
  763.  
  764.  
  765. Internet Draft      Integrated Service Architecture         October 1993
  766.  
  767.  
  768.       prediction of performance but rather a commitment to adjust its
  769.       bound-setting algorithm to be sufficiently conservative.
  770.  
  771.       All nonadaptive applications, whether tolerant or not, need an "a
  772.       priori" delay bound in order to set their offset delay; the degree
  773.       of tolerance only determines how reliable this bound must be.  In
  774.       addition to being necessary to set the offset delay, these delay
  775.       bounds provide useful estimates of the resulting latency.
  776.       Nonadaptive tolerant applications, like the intolerant
  777.       applications considered above, are indifferent to when their
  778.       packets arrive, as long as they arrive before the delay bound.
  779.  
  780.       Recall, however, that we are assuming that many, if not most,
  781.       tolerant playback applications are adaptive.  Thus, we must design
  782.       the service model with such adaptation in mind.  Since these
  783.       applications will be adapting to the actual packet delays, a delay
  784.       bound is not needed to set the offset delay.  However, in order to
  785.       choose the appropriate level of service, applications need some
  786.       way of estimating their performance with a given level of service.
  787.       Ideally, such an estimate would depend on the detailed packet
  788.       delay distribution.  We consider it impractical to provide
  789.       predictions or bounds on anything other than the extremal delay
  790.       values.  Thus, we propose offering the same predictive service to
  791.       tolerant adaptive applications, except that here the delay bound
  792.       is not primarily used to set the offset delay (although it may be
  793.       used as a hint) but rather is used to predict the likely latency
  794.       of the application.
  795.  
  796.       The actual performance of adaptive applications will depend on the
  797.       tail of the delay distribution.  We can augment the predictive
  798.       service model to also give "minimax" service, which is to attempt
  799.       to minimize the ex post maximum delay.  This service is not trying
  800.       to minimize the delay of every packet, but rather is trying to
  801.       pull in the tail of the distribution.  Here the fairly reliable
  802.       predictive delay bound is the quantitative part of the service
  803.       commitment, while the minimax part of the service commitment is a
  804.       relative service commitment.  We could offer separate service
  805.       models for adaptive and nonadaptive tolerant playback
  806.       applications, with both receiving the predictive service as a
  807.       quantitative service commitment and with only adaptive
  808.       applications receiving the minimax relative commitment.  However,
  809.       since the difference in the service models is rather minor, we
  810.       choose to only offer the combination of predictive and minimax
  811.       service.
  812.  
  813. _________________________
  814. ment but rather a monetary one.
  815.  
  816.  
  817.  
  818.  
  819. Shenker, Clark, Zhang                                          [Page 14]
  820.  
  821.  
  822.  
  823.  
  824. Internet Draft      Integrated Service Architecture         October 1993
  825.  
  826.  
  827.       It is clear that given a choice, with all other things being
  828.       equal, an application would perform no worse with absolutely
  829.       reliable bounds than with fairly reliable bounds.  Why, then, do
  830.       we offer predictive service?  The key consideration here is
  831.       efficiency [Note 9] ; when one relaxes the service requirements
  832.       from perfectly to fairly reliable bounds, this increases the level
  833.       of network utilization that can be sustained, and thus the price
  834.       of the predictive service will presumably be lower than that of
  835.       guaranteed service.  The predictive service class is motivated by
  836.       the conjecture that the performance penalty will be small for
  837.       tolerant applications but the overall efficiency gain will be
  838.       quite large.
  839.  
  840.       As we discussed above, both of these service models have a
  841.       quantitative component. In order to offer this service, the nature
  842.       of the traffic from the source must be characterized, and there
  843.       must be some admission control algorithm which insures that a
  844.       requested flow can actually be accommodated.  This
  845.       characterization will not be a detailed statistical
  846.       characterization (we do not believe applications will be able to
  847.       provide those) but instead will be a worst-case characterization;
  848.       the flow will commit to not exceed some usage envelope or filter
  849.       (e.g., a token bucket or leaky bucket).  A fundamental point of
  850.       our overall architecture is that traffic characterization and
  851.       admission control are necessary for these real-time delay bound
  852.       services.  For rate-adaptive applications, these traffic
  853.       characterizations are not immutable.  We can thus augment the
  854.       service model by allowing the network to notify (either implicitly
  855.       through packet drops or explicitly through control packets) rate-
  856.       adaptive applications to change their traffic characterization.
  857.       We will discuss this more thoroughly in Section 32.
  858.  
  859.       The fourth category for which we must develop a service model is
  860.       elastic applications. Elastic applications are rather different
  861.       than playback applications; while playback applications hold
  862.       packets until their playback time, elastic applications use the
  863.       packet whenever it arrives.  Thus, reducing the delays of any
  864.       packet tends to improve performance.  Furthermore, since there is
  865.       no offset delay, there is no need for an "a priori"
  866.       characterization of the delays.  An appropriate service model is
  867.       to provide "as-soon-as-possible", or ASAP service, which is a
  868.       relative, not quantitative, commitment [Note 10].  Elastic
  869. _________________________
  870. [Note 9] Efficiency can be thought of as the number of applications that
  871. can  be  simultaneously serviced with a given amount of bandwidth; for a
  872. fuller definition, see [,].
  873. [Note  10] We choose not to use the term "best-effort" for the ASAP ser-
  874. vice since that connotes the FIFO service discipline.
  875.  
  876.  
  877.  
  878. Shenker, Clark, Zhang                                          [Page 15]
  879.  
  880.  
  881.  
  882.  
  883. Internet Draft      Integrated Service Architecture         October 1993
  884.  
  885.  
  886.       applications vary greatly in their sensitivity to delay (which, as
  887.       we mentioned earlier, is probably more a function of the average
  888.       delay than of the maximum delay), and so the service model for
  889.       elastic traffic should distinguish between the various levels of
  890.       delay sensitivity. We therefore propose a multiclass ASAP service
  891.       model to reflect the relative delay sensitivities of different
  892.       elastic applications.  This service model allows interactive burst
  893.       applications to have lower delays than interactive bulk
  894.       applications, which in turn would have lower delays than
  895.       asynchronous bulk applications.  In contrast to the real-time
  896.       service models, this service model does not provide any
  897.       quantitative service commitment, and thus applications cannot
  898.       predict their likely performance and are also not subject to
  899.       admission control.  However, we think that rough predictions about
  900.       performance, which are needed to select a service class, could be
  901.       based on the ambient network conditions and historical experience.
  902.       If the network load is unusually high, the delays will degrade and
  903.       the users must be prepared to tolerate this, since there was no
  904.       admission control to limit the total usage.
  905.  
  906.       However, there may be some cases where an application (or the user
  907.       of the application) might want to know more precisely the
  908.       performance of the application in advance.  For instance, a Telnet
  909.       user might want to ensure that the delays won't interfere with her
  910.       typing.  For these cases, the application can request predictive
  911.       service (since the firmness of the guaranteed bound is probably
  912.       not required) provided it is willing to specify the maximum
  913.       transmission rate desired.  Note that since the network will then
  914.       require compliance with the advertised transmission rate, the
  915.       application cannot get a higher throughput rate than what it
  916.       requested.
  917.  
  918.       There are two issues regarding the elastic service model [Note 11]
  919.       that we do not address in this memo, and propose that these issues
  920.       be revisited once the rest of the core service model is defined.
  921.       First, there is the issue of relative treatment of flows.  One
  922.       could treat each elastic packet independently, and allocate
  923.       service based merely on time-of-arrival and the level of ASAP
  924.       service requested.  Alternatively, one could also attempt to
  925.       control the aggregate resources used by each individual flow, such
  926.       as is done in the Fair Queueing service model as described in [].
  927.       We do not address the relative treatment of various flows at this
  928.       time, since it will not affect the basic service interface.
  929. _________________________
  930. [Note 11] We have used the convenient, but perhaps confusing convention,
  931. of  referring  to elastic service and real-time service when in fact the
  932. terms real-time and elastic refer to a class of applications.
  933.  
  934.  
  935.  
  936.  
  937. Shenker, Clark, Zhang                                          [Page 16]
  938.  
  939.  
  940.  
  941.  
  942. Internet Draft      Integrated Service Architecture         October 1993
  943.  
  944.  
  945.       Second, there is the issue of feedback.  As we noted before, some
  946.       elastic applications can adjust their transmis pattern.  This
  947.       adjustment can be in response to implicit signals, such a packet
  948.       drops or delay, or explicit signals such as congestion bits in the
  949.       packet header or separate control packets.  Again, we do not
  950.       address at this time the form or content of such feedback signals
  951.       since they do not affect the basic service interface.
  952.  
  953.       At the beginning of this section, we made the initial assumption
  954.       that delay was the only quality of service about which the network
  955.       needed to make commitments.  We now revisit this issue and ask if
  956.       that is indeed the case.  For the typical real-time or elastic
  957.       application which cares about the delays of individual packets,
  958.       there seems to be no need to include any other quality of service.
  959.       However, we observed earlier that there are some applications,
  960.       such as transfers of very long files, which are essentially
  961.       indifferent to the delays of individual packets and are only
  962.       concerned with overall delay of the transfer.  For these
  963.       "indifferent" applications, bandwidth rather than delay is a more
  964.       natural characterization of the desired service, since bandwidth
  965.       dictates the application performance.  If such an application has
  966.       no intrinsic overall delay requirement, then the desired service
  967.       is to finish the transfer as quickly as possible.  The desired
  968.       service is "as-much-bandwidth-as-possible".  By servicing packets
  969.       as soon as possible, the ASAP service described above delivers
  970.       exactly this as-much-bandwidth-as-possible service.  Thus, while
  971.       we did not explicitly consider bulk transfer applications, our
  972.       proposed service model already provides the desired service for
  973.       bulk transfer applications with no intrinsic overall delay
  974.       requirements.
  975.  
  976.       However, if this bulk transfer application had some intrinsic
  977.       overall delay requirement, i.e. it required the transfer to be
  978.       completed within a certain time, then the ASAP service is no
  979.       longer sufficient.  Now, the appropriate service is to allow the
  980.       application to request a specified amount of bandwidth; the
  981.       application chooses this bandwidth amount so that the transfer
  982.       will be completed in time.  An application can secure a given
  983.       amount of bandwidth through either of the real-time services.  The
  984.       per-packet delay bounds provided by these real-time services are
  985.       superfluous to bulk transfer applications with overall delay
  986.       requirements.  While one could imagine a different service which
  987.       provided a commitment on bandwidth but not per-packet delay, the
  988.       difference between requesting a large delay bound and no delay
  989.       bound is rather insignificant, and thus we expect that such
  990.       indifferent applications with delay requirements will be
  991.       adequately served by predictive service with very large delay
  992.       bounds.  This has the disadvantage that indifferent applications
  993.  
  994.  
  995.  
  996. Shenker, Clark, Zhang                                          [Page 17]
  997.  
  998.  
  999.  
  1000.  
  1001. Internet Draft      Integrated Service Architecture         October 1993
  1002.  
  1003.  
  1004.       with delay requirements do not get as-much-bandwidth-as-possible,
  1005.       but are constrained to their reserved amount.
  1006.  
  1007.  
  1008.  
  1009.                                     Applications
  1010.                                  /               \
  1011.                               /                     \
  1012.                            /                           \
  1013.                       Elastic                         Real-Time
  1014.                     /   |    \
  1015.                   /     |      \                       /     \
  1016.                 /       |        \                    /       \
  1017.               /         |          \                 /         \
  1018.        Interactive  Interactive  Asynchronous    Tolerant  Intolerant
  1019.        Burst        Bulk         Bulk                |           |
  1020.             |            |            |              |           |
  1021.             |            |            |              |           |
  1022.             V            V            V              V           V
  1023.         _________    _________    _________    __________    __________
  1024.        | ASAP    |  | ASAP    |  | ASAP    |  |Predictive|  |Guaranteed|
  1025.        | Level 1 |  | Level 2 |  | Level 3 |  | Minimax  |  |          |
  1026.        |_________|  |_________|  |_________|  |__________|  |__________|
  1027.  
  1028.       Figure 1: Our rough taxonomy of applications and their  associated
  1029.       service models.  We have arbitrarily depicted three levels of ASAP
  1030.       service.
  1031.  
  1032.  
  1033.       Figure  depicts our taxonomy of applications and the associated
  1034.       service models.  This taxonomy is neither exact nor complete, but
  1035.       was only used to guide the development of the core service model.
  1036.       The resulting core service model should be judged not on the
  1037.       validity of the underlying taxonomy but rather on its ability to
  1038.       adequately meet the needs of the entire spectrum of applications.
  1039.       In particular, not all real-time applications are playback
  1040.       applications; for example, one might imagine a visualization
  1041.       application which merely displayed the image encoded in each
  1042.       packet whenever it arrived.  However, non-playback applications
  1043.       can still use either the guaranteed or predictive real-time
  1044.       service model, although these services are not specifically
  1045.       tailored to their needs.  Similarly, playback applications cannot
  1046.       be neatly classified as either tolerant or intolerant, but rather
  1047.       fall along a continuum; offering both guaranteed and predictive
  1048.       service allows applications to make their own tradeoff between
  1049.       cost, fidelity, and latency.  Despite these obvious deficiencies
  1050.       in the taxonomy, we expect that it describes the service
  1051.       requirements of current and future applications well enough so
  1052.  
  1053.  
  1054.  
  1055. Shenker, Clark, Zhang                                          [Page 18]
  1056.  
  1057.  
  1058.  
  1059.  
  1060. Internet Draft      Integrated Service Architecture         October 1993
  1061.  
  1062.  
  1063.       that our core service model can adequately meet all application
  1064.       needs.
  1065.  
  1066.       We have defined the core service model in terms of point-to-point
  1067.       flows.  We can easily generalize this service model to incorporate
  1068.       multipoint-to-multipoint flows.  Clearly for elastic traffic there
  1069.       is no change to the service model.  For the real-time service
  1070.       models, the delay bounds are specified for each point-to-point
  1071.       pair, and the traffic characterizations apply to the sum of the
  1072.       flow's traffic at each hop along the flow's path.
  1073.  
  1074. 4 Resource-Sharing Requirements and Service Models
  1075.  
  1076.    The last section considered quality of service commitments; these
  1077.    commitments dictate how the network must allocate its resources among
  1078.    the individual flows.  This allocation of resources is typically
  1079.    negotiated on a flow-by-flow basis as each flow requests admission to
  1080.    the network, and does not address any of the policy issues that arise
  1081.    when one looks at collections of flows.  To address these collective
  1082.    policy issues, we now discuss resource-sharing service commitments.
  1083.    Recall that for individual quality of service commitments we focused
  1084.    on delay as the only quantity of interest.  Here, we postulate that
  1085.    the quantity of primary interest in resource-sharing is aggregate
  1086.    bandwidth on individual links.  Our reasoning for this is as follows.
  1087.    Meeting individual application service needs is the task of quality
  1088.    of service commitments; however, both the number of quantitative
  1089.    service commitments that can be simultaneously made, and the
  1090.    quantitative performance delivered by the relative service
  1091.    commitments, depend on the aggregate bandwidth.  Thus, when
  1092.    considering collective entities we claim that we need only control
  1093.    the aggregate bandwidth available to the constituent applications; we
  1094.    can deal with all other performance issues through quality of service
  1095.    commitments to individual flows.  Embedded within this reasoning is
  1096.    the assumption that bandwidth is the only scarce commodity; if
  1097.    buffering in the switches is scarce then we must deal with buffer-
  1098.    sharing explicitly, but we contend that switches should be built with
  1099.    enough buffering so that buffer contention is not the primary
  1100.    bottleneck.
  1101.  
  1102.    Thus, this component of the service model, called "link-sharing",
  1103.    addresses the question of how to share the aggregate bandwidth of a
  1104.    link among various collective entities according to some set of
  1105.    specified shares.  There are several examples that are commonly used
  1106.    to explain the requirement of link-sharing among collective entities.
  1107.  
  1108.    Multi-entity link-sharing. -- A link may be purchased and used
  1109.    jointly by several organizations, government agencies or the like.
  1110.    They may wish to insure that under overload the link is shared in a
  1111.  
  1112.  
  1113.  
  1114. Shenker, Clark, Zhang                                          [Page 19]
  1115.  
  1116.  
  1117.  
  1118.  
  1119. Internet Draft      Integrated Service Architecture         October 1993
  1120.  
  1121.  
  1122.    controlled way, perhaps in proportion to the capital investment of
  1123.    each entity.  At the same time, they might wish that when the link is
  1124.    underloaded, any one of the entities could utilize all the idle
  1125.    bandwidth.
  1126.  
  1127.    Multi-protocol link-sharing -- In a multi-protocol Internet, it may
  1128.    be desired to prevent one protocol family (DECnet, IP, IPX, OSI, SNA,
  1129.    etc.) from overloading the link and excluding the other families.
  1130.    This is important because different families may have different
  1131.    methods of detecting and responding to congestion, and some methods
  1132.    may be more "aggressive" than others. This could lead to a situation
  1133.    in which one protocol backs off more rapidly than another under
  1134.    congestion, and ends up getting no bandwidth. Explicit control in the
  1135.    router may be required to correct this. Again, one might expect that
  1136.    this control should apply only under overload, while permitting an
  1137.    idle link to be used in any proportion.
  1138.  
  1139.    Multi-service sharing -- Within a protocol family such as IP, an
  1140.    administrator might wish to limit the fraction of bandwidth allocated
  1141.    to various service classes.  For example, an administrator might wish
  1142.    to limit the amount of real-time traffic to some fraction of the
  1143.    link, to avoid preempting elastic traffic such as FTP.
  1144.  
  1145.    In general terms, the link-sharing service model is to share the
  1146.    aggregate bandwidth according to some specified shares; however, one
  1147.    must be careful to state exactly what this means.  The following
  1148.    example will highlight some of the policy issues implicit in link-
  1149.    sharing.  Consider three firms, 1, 2, and 3, who respectively have
  1150.    shares 1/4, 1/4, and 1/2 of some link.  Assume that for a certain
  1151.    hour, firm 1 sends no traffic to the link while firms 2 and 3 each
  1152.    send enough to use the entire capacity of the link.  Are firms 2 and
  1153.    3 restricted to only using their original shares of the link, or can
  1154.    they use firm 1's unused bandwidth?  Assume for now that they are
  1155.    allowed to use firm 1's unused bandwidth.  Then, how is firm 1's
  1156.    share of the link split between firms 2 and 3?  If, in the next
  1157.    twenty minutes, all three firms each send enough traffic to consume
  1158.    the entire link, is the link allocated solely to firm 1 in order to
  1159.    make up for the imbalance in aggregate bandwidth incurred during the
  1160.    first hour, or is the link shared according to the original shares?
  1161.    Thus, there are three policy questions to be resolved: can firms use
  1162.    each other's unused bandwidth, how is this unused bandwidth allocated
  1163.    to the remaining firms, and over what time scale is the sharing of
  1164.    bandwidth measured?  Clearly the answer to the first question must be
  1165.    affirmative, since much of the original motivation for link-sharing
  1166.    is to take advantage of the economies of statistical aggregation.  As
  1167.    for the second question, one can imagine many rules for splitting up
  1168.    the excess bandwidth but here we propose that the excess is assigned
  1169.    in proportion to the original shares so that in the above example
  1170.  
  1171.  
  1172.  
  1173. Shenker, Clark, Zhang                                          [Page 20]
  1174.  
  1175.  
  1176.  
  1177.  
  1178. Internet Draft      Integrated Service Architecture         October 1993
  1179.  
  1180.  
  1181.    during the first hour the link would be split 1/3, 2/3 for firms 2
  1182.    and 3 respectively.  The answer to the third question is less clear.
  1183.    The preceding example indicates that if sharing is measured over some
  1184.    time scale T then a firm's traffic can be halted for a time on the
  1185.    order of T under certain conditions; since such cessation should be
  1186.    avoided, we propose doing the sharing on an instantaneous basis
  1187.    (i.e., the limit of T going to zero).  This would dictate that during
  1188.    this next twenty minutes the bandwidth is split exactly according to
  1189.    the original shares: 1/4, 1/4, and 1/2.  This policy embodies a
  1190.    "use-it-or-lose-it" philosophy in that the firms are not given credit
  1191.    at a later date for currently unused bandwidth.
  1192.  
  1193.    An idealized fluid model of instantaneous link-sharing with
  1194.    proportional sharing of excess is the fluid processor sharing model
  1195.    (introduced in [] and further explored in [29,18]) where at every
  1196.    instant the available bandwidth is shared between the active entities
  1197.    (i.e., those having packets in the queue) in proportion to the
  1198.    assigned shares of the resource.  More specifically, we let mu be the
  1199.    speed of the link and we give each entity i its own virtual queue
  1200.    which stores its packets as they await service.  For each entity i we
  1201.    define the following quantities: s_i, the share of the link; c_i(t),
  1202.    the cumulative number of bits in the traffic stream that have arrived
  1203.    by time t; and the backlog b_i(t), the number of bits remaining in
  1204.    the virtual queue at time t.  Whenever a real packet arrives at the
  1205.    switch belonging to entity i, we place a corresponding idealized
  1206.    packet at the tail of that entity's virtual queue.  The service
  1207.    within each such virtual queue is FIFO.  We now describe how service
  1208.    is allocated among the different virtual queues.  The idealized
  1209.    service model is defined by the equations:
  1210.  
  1211.        b_i'(t) =  c_i' - min( S_i*L, c_i' )  if b_i(t) = 0   (1)
  1212.  
  1213.    and
  1214.  
  1215.        b_i'(t) =  c_i' - s_i*L               if b_i(t) > 0   (2)
  1216.  
  1217.    where prime represents differentiation with respect to time and L
  1218.    is the unique constant that makes:
  1219.  
  1220.        (Sum over i of b_i' ) =  Mu - ( Sum over i of c_i' );
  1221.  
  1222.    when no such value exists, we set L to infinity.
  1223.  
  1224.    At every instant the excess bandwidth, that is the bandwidth left
  1225.    over from flows not using their entire share of bandwidth, is split
  1226.    among the active entities (i.e., those with bi>0) in proportion to
  1227.    their shares; each active [Note 12] entity receives an instantaneous
  1228. _________________________
  1229.  
  1230.  
  1231.  
  1232. Shenker, Clark, Zhang                                          [Page 21]
  1233.  
  1234.  
  1235.  
  1236.  
  1237. Internet Draft      Integrated Service Architecture         October 1993
  1238.  
  1239.  
  1240.    bandwidth that is greater than or equal to their share of the full
  1241.    transmission rate.
  1242.  
  1243.    This fluid model exhibits the desired policy behavior but is, of
  1244.    course, an unrealistic idealization.  We then propose that the actual
  1245.    service model should be to approximate, as closely as possible, the
  1246.    bandwidth shares produced by this ideal fluid model.  It is not
  1247.    necessary to require that the specific order of packet departures
  1248.    match those of the fluid model since we presume that all detailed
  1249.    per-packet delay requirements of individual flows are addressed
  1250.    through quality of service commitments and, furthermore, the
  1251.    satisfaction with the link-sharing service delivered will probably
  1252.    not depend very sensitively on small deviations from the scheduling
  1253.    implied by the fluid link-sharing model.  The link-sharing service
  1254.    model provides quantitative service commitments on bandwidth shares
  1255.    that the various entities receive.
  1256.  
  1257.    Heretofore we have considered link-sharing across a set of entities
  1258.    with no internal structure to the entities themselves.  However, the
  1259.    various sorts of link-sharing requirements presented above could
  1260.    conceivably be nested into a hierarchy of link-sharing requirements,
  1261.    an idea first proposed by Jacobson and Floyd [11]. For instance, a
  1262.    link could be divided between a number of organizations, each of
  1263.    which would divide the resulting allocation among a number of
  1264.    protocols, each of which would be divided among a number of services.
  1265.    We propose extending the idealized link-sharing service model
  1266.    presented above to the hierarchical case.  The policy desires will be
  1267.    represented by a tree with shares assigned to each node; the shares
  1268.    belonging to the children of each node must sum to the share of the
  1269.    node, and the top node represents the full link and has a unit share.
  1270.    Furthermore, each node has an arrival stream described by ci(t) and a
  1271.    backlog b_i(t) with the quantities of the children of each node
  1272.    summing to the quantity of the node.  Then, at each node we invoke
  1273.    the fluid processor sharing model among the children, with the
  1274.    instantaneous link speed at the i'th node, mu_i(t), set equal to the
  1275.    rate b_i'(t) at which bits are draining out of that node's virtual
  1276.    queue.  We can start this model at the top node; when propagated down
  1277.    to the leaf nodes, or bottom-level entities, this determines the
  1278.    idealized service model.
  1279.  
  1280.    The introduction of a hierarchy raises further policy questions which
  1281.    are illustrated by the following example depicted in Figure `a' and
  1282.    `b'. Let us assume that each of the bottom-level entities, 1a, 1b, 2a
  1283.    and 2b, has a 1/4 share of the link.  When all of the bottom-level
  1284. _________________________
  1285. [Note 12] There are three states a flow can be in: active (b_i>0), inac-
  1286. tive (b_i=0 and c_i'=0), and in-limbo (b_i=0 but c_i'>0).
  1287.  
  1288.  
  1289.  
  1290.  
  1291. Shenker, Clark, Zhang                                          [Page 22]
  1292.  
  1293.  
  1294.  
  1295.  
  1296. Internet Draft      Integrated Service Architecture         October 1993
  1297.  
  1298.  
  1299.    entities are sending enough to consume their share, the bandwidth is
  1300.    split exactly according to these shares.  Now assume that at some
  1301.    instant there is no offered 2b traffic. Should each of 1a,1b and 2a
  1302.    get 1/3 of the link, or should 1a and 1b continue to get 1/4, with 2a
  1303.    getting the remaining 1/2 share of the link which is the total of the
  1304.    shares belonging to firm 2? This is a policy question to be
  1305.    determined by the firms, so the service model should allow either.
  1306.    Figure  depicts two possible sharing trees.  Tree #1 in the figure
  1307.    produces the 1/4, 1/4, 1/2 sharing whereas tree #2 produces the 1/3,
  1308.    1/3, 1/3 sharing.  When the link-sharing service commitment is
  1309.    negotiated, it will be specified by a tree and an assignment of
  1310.    shares for the nodes.
  1311.  
  1312.  
  1313.              Link
  1314.              /  \                           Link
  1315.             /    \
  1316.            /      \                       / /  \ \
  1317.           1        2                     / /    \ \
  1318.          / \      / \                   /  |    |  \
  1319.         /   \    /   \                 /   |    |   \
  1320.        1a   1b  2a   2b              1a   1b   2a   2b
  1321.  
  1322.            Tree #1                       Tree #2
  1323.  
  1324.    Figure 2: Two possible sharing trees with equal shares at
  1325.    all leaf nodes.  When one of the leaf nodes is not active,
  1326.    the trees produce different bandwidth shares for the
  1327.    remaining active nodes.
  1328.  
  1329.  
  1330.    In the hierarchical model, the bandwidth sharing between the children
  1331.    of a given node was independent of the structure of the
  1332.    grandchildren.  One can think of far more general link-sharing
  1333.    service models.  Assume that in the example above that protocol `a'
  1334.    carries traffic from applications with tight delay requirements and
  1335.    protocol `b' carries traffic from applications with loose delay
  1336.    requirements.   The two firms might then want to implement a sharing
  1337.    policy that when 1a is not fully using its share of the link, the
  1338.    excess is shared equally among 1b and 2a, but when 1b is not fully
  1339.    using its share of the link we will give the excess exclusively to
  1340.    1a.  To implement this more complicated policy, it is necessary to
  1341.    take the grandchildren structure into account.  We think that this
  1342.    sort of flexibility is probably not needed, for the same reason that
  1343.    we restricted ourselves to bandwidth as the only collective concern;
  1344.    quality of service issues should be addressed via quality of service
  1345.    commitments and not through the link-sharing service model.  For this
  1346.    same reason, we do not make priority distinctions between the various
  1347.  
  1348.  
  1349.  
  1350. Shenker, Clark, Zhang                                          [Page 23]
  1351.  
  1352.  
  1353.  
  1354.  
  1355. Internet Draft      Integrated Service Architecture         October 1993
  1356.  
  1357.  
  1358.    nodes, but merely allocate shares of bandwidth.  Therefore, for our
  1359.    resource-sharing service model we restrict ourselves to the
  1360.    hierarchical service model presented above.
  1361.  
  1362.    In Section 31 we observed that admission control was necessary to
  1363.    ensure that the real-time service commitments could be met.
  1364.    Similarly, admission control will again be necessary to ensure that
  1365.    the link-sharing commitments can be met.  For each bottom-level
  1366.    entity, admission control must keep the cumulative guaranteed and
  1367.    predictive traffic from exceeding the assigned link-share.
  1368.  
  1369. 5 Denial of Service
  1370.  
  1371.    To meet its quantitative service commitments, the network must employ
  1372.    some form of admission control.  Without the ability to deny flows
  1373.    admission to the network, one could not reliably provide the various
  1374.    delay bound services offered by our service model.  In fact,
  1375.    admission control is just one aspect of denial of service; there are
  1376.    several other ways in which service can be denied.  Denial of
  1377.    service, in all of its incarnations, plays a fundamental role in
  1378.    meeting quantitative service commitments.  In particular, denial of
  1379.    service can be used to augment the resource sharing portion of the
  1380.    core service model by supporting utilization targets.  Moreover,
  1381.    denial of service, through the use of the preemptable and expendable
  1382.    service options discussed below, can enable the network to meet its
  1383.    service commitments while still maintaining reasonably high levels of
  1384.    network utilization.
  1385.  
  1386.    Denial of service, like service commitments, can occur at various
  1387.    levels of granularity.  Specifically, denial of service can apply to
  1388.    whole flows, or to individual packets within a flow.  We discuss
  1389.    these two cases separately.
  1390.  
  1391.    5.1 Denial to Flows
  1392.  
  1393.       Denial of service to a flow can occur either before or during the
  1394.       lifetime of that flow.  Denying service to a flow before it enters
  1395.       the network is typically referred to as admission control.  As we
  1396.       envision it, in order to receive either of the two real-time
  1397.       bounded delay services (guaranteed and predictive), a flow will
  1398.       have to explicitly request that service from the network, and this
  1399.       request must be accompanied by a worst-case characterization of
  1400.       the flow's traffic stream.  This characterization gives the
  1401.       network the information necessary to determine if it can indeed
  1402.       commit to providing the requested delay bounds.  The request is
  1403.       denied if the network determines that it cannot reliably provide
  1404.       the requested service.  References [7,20,22,24] discuss various
  1405.       approaches to admission control.
  1406.  
  1407.  
  1408.  
  1409. Shenker, Clark, Zhang                                          [Page 24]
  1410.  
  1411.  
  1412.  
  1413.  
  1414. Internet Draft      Integrated Service Architecture         October 1993
  1415.  
  1416.  
  1417.       In addition, a service model could offer a "preemptable" flow
  1418.       service, presumably for a lower cost than non-preemptable service.
  1419.       When the network was in danger of not meeting some of its
  1420.       quantitative service commitments, or even if the network was
  1421.       merely having to deny admission to other flows, then it could
  1422.       exercise the "preemptability option" on certain flows and
  1423.       immediately discontinue service to those flows by discarding their
  1424.       packets (and, presumably, sending a control message informing
  1425.       those flows of their termination).  By terminating service to
  1426.       these preemptable flows, the service to the flows that are
  1427.       continuing to receive service will improve, and other non-
  1428.       preemptable flows can be admitted.
  1429.  
  1430.       Recall that rate-adaptive flows are able to adjust their
  1431.       transmission rate.  For these flows we can offer an "adjustable"
  1432.       flow service, again presumably for a lower cost than the regular
  1433.       non-preemptable, non-adjustable service.  When the network was in
  1434.       danger of not meeting some of its quantitative service
  1435.       commitments, or even if the network was merely having to deny
  1436.       admission to other flows, then it could exercise the
  1437.       "adjustability option" of these flows and request that they reduce
  1438.       their transmission rate.  Similarly, when the network had spare
  1439.       capacity, it could inform these flows that they could increase
  1440.       their transmission rate.
  1441.  
  1442.       Admission control can be used to augment the link-sharing service
  1443.       model described in the previous section.  Link-sharing uses packet
  1444.       scheduling to provide quantitative service commitments about
  1445.       bandwidth shares.  This service is designed to provide sharing
  1446.       between various entities which have explicitly contracted with the
  1447.       network to manage that sharing.  However, there are other
  1448.       collective policy issues that do not involve institutional
  1449.       entities, but rather concern overall utilization levels of the
  1450.       various service classes (guaranteed, predictive, ASAP).  Because
  1451.       they are not explicitly negotiated, and so no service commitments
  1452.       are at stake, these utilization levels are not controlled by
  1453.       packet scheduling but instead are controlled by the admission
  1454.       control algorithm.  All real-time flows are subject to scrutiny by
  1455.       the admission control process; only those flows that are accepted
  1456.       can use the network.  If the admission control algorithm used the
  1457.       criteria that a flow was accepted if and only if it could be
  1458.       accepted without violating other quality of service commitments,
  1459.       then the utilization levels of the various classes will depend
  1460.       crucially on the order in which the service requests arrived to
  1461.       the network.  One might desire, instead, to make explicit policy
  1462.       choices about these various level of utilization.  For instance,
  1463.       it is probably advisable to prevent starvation of any particular
  1464.       class of traffic; an explicit control would be needed to prevent
  1465.  
  1466.  
  1467.  
  1468. Shenker, Clark, Zhang                                          [Page 25]
  1469.  
  1470.  
  1471.  
  1472.  
  1473. Internet Draft      Integrated Service Architecture         October 1993
  1474.  
  1475.  
  1476.       starvation of elastic traffic since the ASAP service does not
  1477.       involve resource reservation.  In addition, one might want the
  1478.       admissions process to ensure that requests for large amounts of
  1479.       bandwidth were not always squeezed out by numerous smaller
  1480.       requests.
  1481.  
  1482.       To prevent such problems, we must introduce some guidelines,
  1483.       called "utilization targets", into the admission control algorithm
  1484.       so that the utilization levels are not just dependent on the
  1485.       details of the load pattern but instead are guided towards some
  1486.       preferred usage pattern.  This utilization target service model
  1487.       involves only admission control; thus, it is not properly part of
  1488.       the core service model.  We mention utilization targets here
  1489.       because other aspects of the core service model rely on these
  1490.       utilization targets, and also because it is so similar to the
  1491.       link-sharing model, in that it represents policy objectives for
  1492.       aggregated classes of traffic.
  1493.  
  1494.    5.2 Denial To Packets
  1495.  
  1496.       While denial of service is usually associated with admission
  1497.       control, it also can be performed on a packet-by-packet
  1498.       granularity.  Denial of service to individual packets could occur
  1499.       by means of a "preemptable" packet service, whereby flows would
  1500.       have the option of marking some of their packets as preemptable.
  1501.       When the network was in danger of not meeting some of its
  1502.       quantitative service commitments, it could exercise a certain
  1503.       packet's "preemptability option" and discard the packet (not
  1504.       merely delay it, since that would introduce out-of-order
  1505.       problems).  By discarding these preemptable packets, the delays of
  1506.       the not-preempted packets will be reduced.
  1507.  
  1508.       The basic idea of allowing applications to mark certain packets to
  1509.       express their "drop preference" and then having the network
  1510.       discard these packets if the network is congested has been
  1511.       circulating in the Internet community for years, and has been
  1512.       simulated in Reference [].  The usual problem in such a scheme is
  1513.       defining what congestion means.  In the Internet, with its simple
  1514.       service model, one usually equates congestion with the presence of
  1515.       a sizable queue.  However, this is a network-centric definition
  1516.       that is not directly related to the quality of service desired by
  1517.       the various applications.  In contrast, in our setting, we can
  1518.       make a very precise definition of congestion that is directly tied
  1519.       to the applications' service requirements: congestion is when some
  1520.       of the quantitative service commitments are in danger of being
  1521.       violated.  The goal of admission control is to ensure that this
  1522.       situation arises extremely infrequently.
  1523.  
  1524.  
  1525.  
  1526.  
  1527. Shenker, Clark, Zhang                                          [Page 26]
  1528.  
  1529.  
  1530.  
  1531.  
  1532. Internet Draft      Integrated Service Architecture         October 1993
  1533.  
  1534.  
  1535.       The basic idea of preemptability can usefully be extended in two
  1536.       directions.   First, for the purposes of invoking the
  1537.       preemptability options, one can stretch the definition of a
  1538.       quantitative service commitment to include implicit commitments
  1539.       such as compliance with the historical record of performance.
  1540.       That is, one could choose to drop packets to make sure that the
  1541.       network continued to provide service that was consistent with its
  1542.       past history, even if that past history was never explicitly
  1543.       committed to.  Furthermore, one could also extend the definition
  1544.       of a quantitative service commitment to the utilization targets
  1545.       discussed above.
  1546.  
  1547.       Second, one can define a class of packets which are not subject to
  1548.       admission control.  In the scenario described above where
  1549.       preemptable packets are dropped only when quantitative service
  1550.       commitments are in danger of being violated, the expectation is
  1551.       that preemptable packets will almost always be delivered and thus
  1552.       they must included in the traffic description used in admission
  1553.       control.  However, we can extend preemptability to the extreme
  1554.       case of "expendable" packets (the term expendable is used to
  1555.       connote an extreme degree of preemptability), where the
  1556.       expectation is that many of these expendable packets will not be
  1557.       delivered.  One can then exclude expendable packets from the
  1558.       traffic description used in admission control; i.e., the packets
  1559.       are not considered part of the flow from the perspective of
  1560.       admission control, since there is no commitment that they will be
  1561.       delivered.  Such expendable packets could be dropped not only when
  1562.       quantitative service commitments are in danger of being violated,
  1563.       but also when implicit commitments and utilization targets, as
  1564.       described above, are in danger of being violated.
  1565.  
  1566.       The goal of these preemptable and expendable denial of service
  1567.       options (both at the packet and flow level of granularity) is to
  1568.       identify and take advantage of those flows that are willing to
  1569.       suffer some interruption of service (either through the loss of
  1570.       packets or the termination of the flow) in exchange for a lower
  1571.       cost.  The preemptable flows and packets provide the network with
  1572.       a margin of error, or a "cushion", for absorbing rare statistical
  1573.       fluctuations in the load.  This will allow the network to operate
  1574.       at a higher level of utilization without endangering the service
  1575.       commitments made to those flows who do not choose preemptable
  1576.       service.  Similarly, expendable packets can be seen as "filler"
  1577.       for the network; they will be serviced only if they do not
  1578.       interfere with any service commitment but there is no expectation
  1579.       that their being dropped is a rare event.  This will increase the
  1580.       level of utilization even further.  We will not specify further
  1581.       how these denial of service, or preemptability, options are
  1582.       defined, but clearly there can be several levels of
  1583.  
  1584.  
  1585.  
  1586. Shenker, Clark, Zhang                                          [Page 27]
  1587.  
  1588.  
  1589.  
  1590.  
  1591. Internet Draft      Integrated Service Architecture         October 1993
  1592.  
  1593.  
  1594.       preemptability, so that an application's willingness to be
  1595.       disrupted can be measured on more than a binary scale.
  1596.  
  1597. 6 Alternative Viewpoints
  1598.  
  1599.    In this section, we discuss several other viewpoints on the problem
  1600.    of providing integrated services.
  1601.  
  1602.    6.1 Scheduling Algorithms vs. Service Models
  1603.  
  1604.       The motivating principle of this memo is that the service model is
  1605.       primary.  However, one could contend that because we do not yet
  1606.       know the service needs of future applications, the most important
  1607.       goal is to design flexible and efficient packet scheduling
  1608.       implementations.  Obviously both packet scheduling implementations
  1609.       and service models are tremendously important, but the debate here
  1610.       is over which one should guide the design of the Internet.  There
  1611.       are three points to be made.
  1612.  
  1613.       First, the service model must be made explicit to application
  1614.       designers.  Currently, there are a rather limited number of
  1615.       network-intensive applications; the network can, to a large
  1616.       extent, determine the service requirements of a packet by
  1617.       inspecting the port number.  However, as the variety of network-
  1618.       intensive applications increases, and as the service requirements
  1619.       of these applications begin to depend on the user's personal
  1620.       demands (e.g., high and low priority mail, high and low quality
  1621.       video from the same codec, etc.), port numbers will no longer be
  1622.       sufficient to identify service requirements.  Rather than having
  1623.       the network implicitly deliver the appropriate service, the
  1624.       applications will have to explicitly request the desired service.
  1625.       For this to happen, the service model must be made explicit (so
  1626.       that application designers know about it), and it obviously must
  1627.       remain relatively stable; the service model should not just be
  1628.       implicitly defined by the packet scheduling implementation.  Thus,
  1629.       regardless of whether the packet scheduling algorithm is flexible
  1630.       or not, the service model must be made explicit and remain
  1631.       relatively stable.
  1632.  
  1633.       Second, there is a fundamental difference in the time-scale over
  1634.       which packet scheduling implementations and service models have
  1635.       impact.  Once a router vendor with a substantial market presence
  1636.       adopts a new packet scheduling implementation, it will likely
  1637.       remain fixed for several years.  So, in the short term, we need to
  1638.       ensure that such packet scheduling implementations embody enough
  1639.       flexibility to adapt if a new service model is adopted, or the
  1640.       current service model is extended, during the product's lifetime.
  1641.       However, router technology, and the embedded packet scheduling
  1642.  
  1643.  
  1644.  
  1645. Shenker, Clark, Zhang                                          [Page 28]
  1646.  
  1647.  
  1648.  
  1649.  
  1650. Internet Draft      Integrated Service Architecture         October 1993
  1651.  
  1652.  
  1653.       implementations, do evolve as new products are introduced, and so
  1654.       one cannot expect that packet scheduling implementations will
  1655.       remain fixed for many years.  On the other hand, the time scale of
  1656.       service models is rather different.  It typically takes much
  1657.       longer for a new service model to become adopted and utilized,
  1658.       because it must be embedded in user applications.  However, once a
  1659.       service model does become adopted it is much harder to change, for
  1660.       precisely the same reason. Thus, we can say that while the set of
  1661.       packet scheduling implementations will likely freeze first, the
  1662.       service model freezes harder.  For this reason we choose to focus
  1663.       on the service model.
  1664.  
  1665.       Third, the role of flexibility must be clarified.  The services
  1666.       offered to individual flows by a packet scheduling algorithm must
  1667.       be part of a service model and, as we argued above, the service
  1668.       model does not change rapidly (except in experimental networks,
  1669.       where perhaps using flexible and efficient packet scheduling
  1670.       implementations is important); in particular, we expect service
  1671.       models to change much less rapidly than packet scheduling
  1672.       algorithms.   Thus, for quality of service commitments to
  1673.       individual flows, flexibility is not of great importance.
  1674.       However, the link-sharing portion of the service model is not
  1675.       exercised by individual applications but rather by network
  1676.       managers through some network management interface.  This portion
  1677.       of the service model can change much more rapidly, so flexibility
  1678.       is indeed important for link-sharing and other forms of resource
  1679.       sharing.  The debate over the relative importance of service
  1680.       models and packet scheduling implementations reflects, at least in
  1681.       part, a deeper disagreement over the extent to which quality of
  1682.       service needs are met indirectly by link-sharing, which controls
  1683.       the aggregate bandwidth allocated to various collective entities,
  1684.       as opposed to being met directly by quality of service commitments
  1685.       to individual flows.  Actually, the important distinction here is
  1686.       not between link-sharing and delay related services, but rather
  1687.       between those services which require explicit use of the service
  1688.       interface, and those that are delivered implicitly (i.e., based on
  1689.       information automatically included in the packet header such as
  1690.       port numbers).  Network architectures designed around such
  1691.       implicit quality of service mechanisms do not require a well-
  1692.       defined service model; the network architecture we have advocated
  1693.       involves explicit quality of service mechanisms and therefore
  1694.       requires a stable service model.
  1695.  
  1696.    6.2 Why Use Admission Control?
  1697.  
  1698.       Real-time service plays a central role in the proposed service
  1699.       model.  We should note that there is another viewpoint on this
  1700.       issue, which has not yet been adequately articulated in the
  1701.  
  1702.  
  1703.  
  1704. Shenker, Clark, Zhang                                          [Page 29]
  1705.  
  1706.  
  1707.  
  1708.  
  1709. Internet Draft      Integrated Service Architecture         October 1993
  1710.  
  1711.  
  1712.       literature.  It is conceivable that the combination of adaptive
  1713.       applications and sufficient overprovisioning of the network could
  1714.       render such delay bounds, with the associated need for admission
  1715.       control, unnecessary; applications could adapt to current network
  1716.       conditions, and the overprovisioning would ensure that the network
  1717.       was very rarely overloaded [Note 13] In this view, it would be
  1718.       sufficient to provide only the several classes of ASAP service
  1719.       without "any" real-time services.  The first question is, can one
  1720.       indeed overprovision the network so that it is extremely rarely
  1721.       overloaded?  It is true that the statistical demand in the phone
  1722.       network is well characterized, and overprovisioning has become a
  1723.       finely honed art.  However, there are three crucial differences
  1724.       between the phone network and the Internet which lead us to the
  1725.       conclusion that  the extreme variability of the offered load will
  1726.       require too great a degree of overprovisioning to make this
  1727.       approach practical.  First, we do not expect the usage patterns on
  1728.       the Internet to be nearly so well characterized.  In the phone
  1729.       network the usage patterns tend to revolve around human behavior,
  1730.       which changes rather slowly.  However, in the Internet, the
  1731.       transfer of a few file repositories can create a dramatic and
  1732.       immediate shift in traffic patterns.  Second, the variability in
  1733.       usage of an individual phone user is quite limited.  In contrast,
  1734.       computer network usage can easily vary by three orders of
  1735.       magnitude, from 64kbps voice to 100mbps HDTV.  Even if the law of
  1736.       large numbers does apply, the intrinsic variance of the individual
  1737.       distributions means that the resulting variance of the aggregate
  1738.       usage will be several orders of magnitude bigger than in the phone
  1739.       network.  Third, regardless of price, there are natural intrinsic
  1740.       limits to the maximum bandwidth demand on the phone network: every
  1741.       person and FAX machine placing a call simultaneously.  In
  1742.       contrast, there is no reason to expect that if bandwidth were
  1743.       sufficiently cheap there would be limits to the bandwidth
  1744.       consumption on the Internet (think of having video-on-demand
  1745.       everywhere).  Thus, unless we use excessively high prices to
  1746.       artificially lower demand, we doubt we can overprovision the
  1747.       network so that it is extremely rarely overloaded.
  1748.  
  1749.       Given that overloads will occur if no admission control is used,
  1750.       the second question is: can applications adequately adapt to these
  1751.       overloaded conditions, or should we use admission control to
  1752.       prevent these overloads from occurring?  Even if one assumes that
  1753.       adaptation is done instantaneously (so that there are no transient
  1754.       periods where the offset delays are incorrectly set), there is the
  1755.       basic question of whether the user population would be happier all
  1756. _________________________
  1757. [Note 13] Of course, this viewpoint is predicated on the nonexistence of
  1758. applications which have hard real-time requirements.
  1759.  
  1760.  
  1761.  
  1762.  
  1763. Shenker, Clark, Zhang                                          [Page 30]
  1764.  
  1765.  
  1766.  
  1767.  
  1768. Internet Draft      Integrated Service Architecture         October 1993
  1769.  
  1770.  
  1771.       sharing an overloaded network, or would they prefer having some
  1772.       users turned away.  For typical elastic applications such as
  1773.       Telnet, it is most likely preferable to share the overloaded
  1774.       network.  For typical real-time applications such as remote
  1775.       interactive video, we conjecture that it is preferable to turn
  1776.       some users away because the rapid increase in delays and packet
  1777.       drops as a function of load causes severe degradation of
  1778.       application performance even for adaptive applications.   In
  1779.       short, the ability to adapt to worse conditions does not mean that
  1780.       appl
  1781.  
  1782.       A common counterargument to our line of reasoning is that users
  1783.       will be unhappy with any network that denies service with any
  1784.       significant frequency, and so we are merely trading off the
  1785.       unhappiness with overloading for the unhappiness caused by denial
  1786.       of service.  While users may expect very low rates of denial for
  1787.       low-bandwidth applications like voice, there will not likely be
  1788.       the same expectation for extremely bandwidth intensive
  1789.       applications like HDTV.  We expect that it will be rather easy,
  1790.       and fairly efficient (i.e., result in a reasonably high
  1791.       utilization level), to provision the network so that it can easily
  1792.       accept almost all phone calls, but will occasionally turn away
  1793.       much larger bandwidth requests.
  1794.  
  1795.    6.3 Variations on the Service Model
  1796.  
  1797.       There are other approaches to defining real-time service.  The
  1798.       real-time service advocated here provides a bound on the maximum
  1799.       delay of packets, provided that the application's traffic load
  1800.       conforms to some prearranged filter.  One could provide not only a
  1801.       bound on the maximum delay but also a nontrivial bound (i.e., a
  1802.       bound other than the no-queueing bound) on the minimum delay.  We
  1803.       did not include such nontrivial lower bounds on delay in our
  1804.       present service model because they serve only to reduce buffering
  1805.       at the receiver and we do not expect buffers to be a bottleneck;
  1806.       furthermore, if some applications do need additional buffering,
  1807.       this can easily be supplied at the edge of the network and need
  1808.       not be built into the basic core service model.
  1809.  
  1810.       A rather different form of service model is to offer statistical
  1811.       characterizations of performance.  We explicitly reject such
  1812.       statistically characterized service offerings because they
  1813.       inherently require a statistical characterization of individual
  1814.       flows (or at least of the aggregate traffic), and we doubt that
  1815.       such characterizations will be available.  Instead, we rely only
  1816.       on worst-case characterizations of the flows.
  1817.  
  1818.       Finally, one can define different link-sharing service models; in
  1819.  
  1820.  
  1821.  
  1822. Shenker, Clark, Zhang                                          [Page 31]
  1823.  
  1824.  
  1825.  
  1826.  
  1827. Internet Draft      Integrated Service Architecture         October 1993
  1828.  
  1829.  
  1830.       particular, as discussed in [], one can incorporate priorities
  1831.       between entities into the link-sharing service model (the model
  1832.       presented here does include priorities in a single entity's
  1833.       traffic, but not between entities).  We do not include this
  1834.       feature for two reasons.  First, a basic principle of this service
  1835.       model is that the quality of service requirements of individual
  1836.       applications should be addressed primarily through explicit
  1837.       service requests.  Second, and much more importantly, the priority
  1838.       features will not produce dramatically different delay behaviors
  1839.       unless the traffic is very close to the bandwidth limits imposed
  1840.       by link-sharing.
  1841.  
  1842. 7 Acknowledgments
  1843.  
  1844.    We would like to acknowledge that the thoughts discussed in this memo
  1845.    reflect the contributions of many others.  In particular, the works
  1846.    of Parekh and Gallager [29,18], Ferrari et al. [6,,7,19], Jacobson
  1847.    and Floyd [,11,], Golestani [15,9], Guerin et al.  [,20], Kurose et
  1848.    al. [,,33,,], Lazar et al. [,,22,], and Kalmanek et al.  [13] have
  1849.    been critical in shaping our thinking on this matter.  Discussions
  1850.    with our ISIP collaborators, the End-to-End Services Research Group,
  1851.    the authors of the above works, and many of our other colleagues have
  1852.    also been instrumental in clarifying our thoughts.  In particular,
  1853.    Abhay Parekh has taught us much about the delay bound results in
  1854.    [29,18].  Also, Sally Floyd and Van Jacobson have rightly insisted
  1855.    that packet scheduling algorithms must deal with packet dropping and
  1856.    hierarchical link-sharing; we wish to acknowledge that much of our
  1857.    thinking on the hierarchical nature of link-sharing was stimulated
  1858.    by, and borrows heavily from, their work.
  1859.  
  1860. REFERENCES
  1861.  
  1862. [1] S. Casner.  "private communication", 1992.
  1863.  
  1864. [2] D. Clark and V. Jacobson.  "Flexible and Efficient Resource
  1865.     management for Datagram Networks", unpublished draft, 1991.
  1866.  
  1867. [3] D. Clark, S. Shenker, and L. Zhang.  "Supporting Real-Time
  1868.     Applications in an Integrated Services Packet Network:  Architecture
  1869.     and Mechanism", in Proceedings of SIGCOMM '92, pp 14-26, 1992.
  1870.  
  1871. [4] R. Chipalkatti, J. Kurose, and D. Towsley.  "Scheduling Policies for
  1872.     Real-Time and Non-Real-Time Traffic in a Statistical Multiplexer",
  1873.     in Proceedings of GlobeCom '89, pp 774-783, 1989.
  1874.  
  1875. [5] R. Cocchi, D. Estrin, S. Shenker, and L. Zhang.  "A Study of
  1876.     Priority Pricing in Multiple Service Class Networks", in Proceedings
  1877.     of SIGCOMM '91, pp 123-130, 1991.
  1878.  
  1879.  
  1880.  
  1881. Shenker, Clark, Zhang                                          [Page 32]
  1882.  
  1883.  
  1884.  
  1885.  
  1886. Internet Draft      Integrated Service Architecture         October 1993
  1887.  
  1888.  
  1889. [6] R. Cocchi, D. Estrin, S. Shenker, and L. Zhang.  "Pricing in
  1890.     Computer Networks: Motivation, Formulation, and Example", preprint,
  1891.     1992.
  1892.  
  1893. [7] A.~Demers, S.~Keshav, and S.~Shenker.  "Analysis and Simulation of a
  1894.     Fair Queueing Algorithm", In Journal of Internetworking: Research
  1895.     and Experience, 1, pp. 3-26, 1990.  Also in Proc. ACM SIGCOMM '89,
  1896.     pp 3-12.
  1897.  
  1898. [8] J. DeTreville and D. Sincoskie.  "A Distributed Experimental
  1899.     Communications System", In IEEE JSAC, Vol. 1, No. 6, pp 1070-1075,
  1900.     December 1983.
  1901.  
  1902. [9] D. Ferrari.  "Client Requirements for Real-Time Communication
  1903.     Services", In IEEE Communications Magazine, 28(11), November 1990.
  1904.  
  1905. [10] D. Ferrari.  "Distributed Delay Jitter Control in Packet-Switching
  1906.     Internetworks", In Journal of Internetworking: Research and
  1907.     Experience, 4, pp. 1-20, 1993.
  1908.  
  1909. [11] D. Ferrari, A. Banerjea, and H. Zhang "Network Support for
  1910.     Multimedia", preprint, 1992.
  1911.  
  1912. [12] D. Ferrari and D. Verma.  "A Scheme for Real-Time Channel
  1913.     Establishment in Wide-Area Networks", In IEEE JSAC, Vol. 8, No. 3,
  1914.     pp 368-379, April 1990.
  1915.  
  1916. [13] S. Floyd.  "Link-sharing and Resource Management Models for Packet
  1917.     Networks", preprint, 1993.
  1918.  
  1919. [14] S. J. Golestani.  "A Stop and Go Queueing Framework for Congestion
  1920.     Management", In Proceedings of SIGCOMM '90, pp 8-18, 1990.
  1921.  
  1922. [15] S. J. Golestani.  "Duration-Limited Statistical Multiplexing of
  1923.     Delay Sensitive Traffic in Packet Networks", In Proceedings of
  1924.     INFOCOM '91, 1991.
  1925.  
  1926. [16] R. Gu'erin and L. G"un.  "A Unified Approach to Bandwidth
  1927.     Allocation and Access Control in Fast Packet-Switched Networks", In
  1928.     Proceedings of INFOCOM '92.
  1929.  
  1930. [17] R. Gu'erin, H. Ahmadi, and M. Naghshineh.  "Equivalent Capacity and
  1931.     Its Application to Bandwidth Allocation in High-Speed Networks", In
  1932.     IEEE JSAC, Vol. 9, No. 9, pp 968-981, September 1991.
  1933.  
  1934. [18] J. Kurose.  "Open Issues and Challenges in Providing Quality of
  1935.     Service Guarantees in High-Speed Networks", In Computer
  1936.     Communication Review, 23(1), pp 6-15, 1993.
  1937.  
  1938.  
  1939.  
  1940. Shenker, Clark, Zhang                                          [Page 33]
  1941.  
  1942.  
  1943.  
  1944.  
  1945. Internet Draft      Integrated Service Architecture         October 1993
  1946.  
  1947.  
  1948. [19] J. Hyman and A. Lazar.  "MARS: The Magnet II Real-Time Scheduling
  1949.     Algorithm", In Proceedings of SIGCOMM '91, pp 285-293, 1991.
  1950.  
  1951. [20] J. Hyman, A. Lazar, and G. Pacifici.  "Real-Time Scheduling with
  1952.     Quality of Service Constraints", In IEEE JSAC, Vol. 9, No. 9, pp
  1953.     1052-1063, September 1991.
  1954.  
  1955. [21] J. Hyman, A. Lazar, and G. Pacifici.  "Joint Scheduling and
  1956.     Admission Control for ATS-based Switching Nodes", In Proceedings of
  1957.     SIGCOMM '92, 1992.
  1958.  
  1959. [22] J. Hyman, A. Lazar, and G. Pacifici.  "A Separation Principle
  1960.     Between Scheduling and Admission Control for Broadband Switching",
  1961.     In IEEE JSAC, Vol. 11, No. 4, pp 605-616, May 1993.
  1962.  
  1963. [23] V. Jacobson and S. Floyd "private communication", 1991.
  1964.  
  1965. [24] V. Jacobson "private communication", 1991.
  1966.  
  1967. [25] S. Jamin, S. Shenker, L. Zhang, and D. Clark.  "An Admission
  1968.     Control Algorithm for Predictive Real-Time Service", In Proceedings
  1969.     of the Third International Workshop on Networking and Operating
  1970.     System Support for Digital Audio and Video, 1992.
  1971.  
  1972. [26] C. Kalmanek, H. Kanakia, and S. Keshav.  "Rate Controlled Servers
  1973.     for Very High-Speed Networks", In Proceedings of GlobeCom '90, pp
  1974.     300.3.1-300.3.9, 1990.
  1975.  
  1976. [27] R. Nagarajan and J. Kurose.  "On Defining, Computing, and
  1977.     Guaranteeing Quality-of-Service in High-Speed Networks", In
  1978.     Proceedings of INFOCOM '92, 1992.
  1979.  
  1980. [28] A.~Parekh and R. Gallager.  "A Generalized Processor Sharing
  1981.     Approach to Flow Control- The Single Node Case", In Technical Report
  1982.     LIDS-TR-2040, Laboratory for Information and Decision Systems,
  1983.     Massachusetts Institute of Technology, 1991.
  1984.  
  1985. [29] A.~Parekh.  "A Generalized Processor Sharing Approach to Flow
  1986.     Control in Integrated Services Networks", In Technical Report LIDS-
  1987.     TR-2089, Laboratory for Information and Decision Systems,
  1988.     Massachusetts Institute of Technology, 1992.
  1989.  
  1990. [30] C.  Partridge, "A Proposed Flow Specification" RFC-1363, July 1992.
  1991.  
  1992. [31] H. Schulzrinne "private communication", 1992.
  1993.  
  1994. [32] H. Schulzrinne, J. Kurose, and D. Towsley.  "Congestion Control for
  1995.     Real-Time Traffic", In Proceedings of INFOCOM '90.
  1996.  
  1997.  
  1998.  
  1999. Shenker, Clark, Zhang                                          [Page 34]
  2000.  
  2001.  
  2002.  
  2003.  
  2004. Internet Draft      Integrated Service Architecture         October 1993
  2005.  
  2006.  
  2007. [33] S. Shenker "Service Models and Pricing Policies for an Integrated
  2008.     Services Internet", to appear in Proceedings of "Public Access to
  2009.     the Internet", Harvard University, 1993.
  2010.  
  2011. [34] S. Shenker, D. Clark, and L. Zhang.  "A Scheduling Service Model
  2012.     and a Scheduling Architecture for an Integrated Services Packet
  2013.     Network" preprint, 1993.
  2014.  
  2015. [35] D. Verma, H. Zhang, and D. Ferrari.  "Delay Jitter Control for
  2016.     Real-Time Communication in a Packet Switching Network", In
  2017.     Proceedings of TriCom '91, pp 35-43, 1991.
  2018.  
  2019. [36] C. Weinstein and J. Forgie.  "Experience with Speech Communication
  2020.     in Packet Networks", In IEEE JSAC, Vol. 1, No. 6, pp 963-980,
  2021.     December 1983.
  2022.  
  2023. [37] D. Yates, J. Kurose, D. Towsley, and M. Hluchyj.  "On Per-Session
  2024.     End-to-End Delay Distribution and the Call Admission Problem for
  2025.     Real Time Applications with QOS Requirements", In Proceedings of
  2026.     SIGCOMM '93, to appear.
  2027.  
  2028. [38] L. Zhang, S. Deering, D. Estrin, S. Shenker, and D. Zappala, "RSVP:
  2029.     A New Resource ReSerVation Protocol", Accepted for publication in
  2030.     IEEE Network, 1993.
  2031.  
  2032.  
  2033.  
  2034. A. On Standardizing a Service Model
  2035.  
  2036. Let us assume, for the sake of argument, that the Internet community
  2037. agrees to adopt a service model similar in spirit to the one proposed
  2038. here.  There is then the question of how one "standardizes" the service
  2039. model.  There are two approaches.  First, one could identify a single
  2040. packet forwarding algorithm which supports this service model and then
  2041. require that all routers use this algorithm.  This entails standardizing
  2042. the detailed packet scheduling mechanisms in the routers.  It is not
  2043. clear that all router technologies will be able to implement this
  2044. particular packet scheduling mechanism, and so this approach may limit
  2045. the range of technologies that can be employed in the Internet.  One
  2046. expects, in fact for the sake of progress one hopes, that the future
  2047. Internet will have a diverse set of underlying technologies, and so
  2048. requiring uniformity of the packet forwarding algorithm is probably not
  2049. realistic nor desirable.  The second approach involves adopting the
  2050. service model without specifying the underlying mechanism.  This path,
  2051. while not nearly as straightforward (in fact, it poses a special
  2052. challenge to the Internet's standardization procedures), is far more
  2053. flexible.  In this second approach there are several different
  2054. conceptual issues which must be dealt with: (1) what services will be
  2055.  
  2056.  
  2057.  
  2058. Shenker, Clark, Zhang                                          [Page 35]
  2059.  
  2060.  
  2061.  
  2062.  
  2063. Internet Draft      Integrated Service Architecture         October 1993
  2064.  
  2065.  
  2066. offered, (2) how are those services requested by the application, and
  2067. (3) how are those services provided by the network.  In this section we
  2068. briefly address these three issues.
  2069.  
  2070. A.1 Defining the Services
  2071.  
  2072.    There are two separate components to defining the set of services
  2073.    offered by the network: the service model and the service
  2074.    specification.
  2075.  
  2076.         Service Model
  2077.              This is the basic set of services offered by the network
  2078.              and, as such, is the central expression of the network
  2079.              architecture.  As we have argued previously, the service
  2080.              model should be based on fundamental application
  2081.              requirements. We have proposed a core service model in this
  2082.              memo.  For individual flows it provides for two kinds of
  2083.              real-time service, guaranteed service and predictive
  2084.              service, along with multiple levels of elastic service.
  2085.              The service model also provides for hierarchical link-
  2086.              sharing services between collective entities.
  2087.  
  2088.  
  2089.         Service Specification
  2090.              This is the detailed parameterization of the service model.
  2091.              This specification details how the service delivered to
  2092.              flows is characterized (e.g., delay bounds, etc.).   In
  2093.              addition, the service specification  details both how flows
  2094.              characterize themselves to the network (e.g., token bucket,
  2095.              leaky bucket, peak rate, etc.), and how these
  2096.              characterizations are enforced the network (e.g., by
  2097.              dropping or delaying packets, at entry points or at every
  2098.              router, etc.).  While the service model is derived from
  2099.              rather general principles, the service specification
  2100.              involves making a number of detailed (and perhaps
  2101.              arbitrary) engineering choices.
  2102.  
  2103.  
  2104. A.2 Obtaining the Services
  2105.  
  2106.    There are three kinds of services: link-sharing, elastic, and real-
  2107.    time.  The link-sharing services will presumably be controlled
  2108.    through a network management interface.  Since this network
  2109.    management interface will not typically be invoked by widely-used
  2110.    applications, there are few compatibility constraints.  Thus, this
  2111.    interface can gradually evolve and so we need not be concerned with
  2112.    making its definition precise now.  Since providing elastic service
  2113.    requires no preallocation of resources, we presume that applications
  2114.  
  2115.  
  2116.  
  2117. Shenker, Clark, Zhang                                          [Page 36]
  2118.  
  2119.  
  2120.  
  2121.  
  2122. Internet Draft      Integrated Service Architecture         October 1993
  2123.  
  2124.  
  2125.    utilizing elastic service will not need to pass through admission
  2126.    control.  These elastic service desires (i.e., which level of ASAP
  2127.    service, and the preemptability of the packets) will probably be
  2128.    specified by the application in the interface to the transport
  2129.    protocol, and this will in turn be communicated to the network
  2130.    through some indication in the individual packet headers.  We assume
  2131.    that this will be addressed in some other standardization venue, and
  2132.    we will not address it further here.
  2133.  
  2134.    In contrast, providing the real-time services does require
  2135.    preallocation of network resources.  Applications desiring real-time
  2136.    service will have to first explicitly request that service, and this
  2137.    request involves reserving network resources.  The reservation
  2138.    procedure has two steps; first the application will invoke some
  2139.    operating system interface to request the reservation, and then some
  2140.    "set-up" or "reservation" protocol will forward that request to the
  2141.    network and return an answer.  The application logically sees a
  2142.    request-response semantics through some operating system interface;
  2143.    the routers interact not with the application but with the
  2144.    reservation protocol and that can have a different interface.  The
  2145.    set-up protocol has its own "service model" of the various
  2146.    configurations of reserved state it can provide; these were deemed
  2147.    "reservation styles" in [10] (we are not advocating the particular
  2148.    reservation styles in [10] but are merely citing them as examples of
  2149.    nontrivial relationships between flows and reserved resources).   As
  2150.    an example of this we note that so far in our exploration of the
  2151.    service model, we have discussed only the service given to actual
  2152.    flows (that is, flows whose packets are forwarded by the network).
  2153.    However, one can reserve resources for potential flows as well;
  2154.    potential flows are those whose packets are not currently being
  2155.    forwarded, but for whom resources have been reserved.
  2156.  
  2157.    Thus, in defining how applications obtain real-time services, we must
  2158.    deal with the reservation model of the set-up protocol and not just
  2159.    the service model of the network itself.  We also must describe what
  2160.    information is passed between the applications and the network, and
  2161.    then must provide a detailed description of the interface invoked by
  2162.    applications.  More specifically, the three conceptual pieces are:
  2163.  
  2164.         Reservation Model
  2165.  
  2166.              The reservation model describes what configurations of
  2167.              resources can be reserved. The reservation model must not
  2168.              only address the service model available to individual
  2169.              flows, but must also incorporate more general
  2170.              configurations of reserved resources.
  2171.  
  2172.  
  2173.  
  2174.  
  2175.  
  2176. Shenker, Clark, Zhang                                          [Page 37]
  2177.  
  2178.  
  2179.  
  2180.  
  2181. Internet Draft      Integrated Service Architecture         October 1993
  2182.  
  2183.  
  2184.         Negotiation Model
  2185.  
  2186.              The negotiation model describes, at an architectural level,
  2187.              (1) what parameters the application hands to the operating
  2188.              system interface, and (2) what parameters the application
  2189.              gets back from that interface.  The negotiation model will
  2190.              depend on, and may therefore dictate, which end (source,
  2191.              receiver) of the application is submitting the requests.
  2192.              The negotiation model will also have implications for the
  2193.              set of queries and responses implemented in the admission
  2194.              control algorithm.
  2195.  
  2196.  
  2197.         Reservation Interface
  2198.  
  2199.              This is a detailed parameterization (essentially the API)
  2200.              of the negotiation model.  This reservation interface will
  2201.              be the artifact that is invoked by applications.  It should
  2202.              be designed to be properly extensible, so that new services
  2203.              can be added, but it will inevitably be subject to
  2204.              compatibility constraints and therefore the previously
  2205.              defined components will be largely immutable.
  2206.  
  2207.  
  2208. A.3 Providing the Services
  2209.  
  2210.    The previous two sections specify the range of services available,
  2211.    and how an application can obtain them.  If there were a single
  2212.    network provider, then we would just require that the network support
  2213.    the interface to the set-up protocol and deliver the desired service.
  2214.    However, the Internet is, and will likely continue to be, a very
  2215.    heterogeneous and administratively decentralized institution.  The
  2216.    service delivered to a flow is a concatenation of the service
  2217.    provided by the various routers along its path, and these routers
  2218.    need not implement the same packet forwarding algorithms.  Thus, we
  2219.    need to directly address how we can be assured that such a network,
  2220.    with local operators making decisions about which routers to install,
  2221.    will indeed support the service model.  As mentioned previously, one
  2222.    approach is to insist on a single router mechanism.  The approach we
  2223.    advocate is, instead, to provide a functional requirement on routers
  2224.    rather than a definition of the detailed mechanism.
  2225.  
  2226.  
  2227.  
  2228.         Router Interoperability Requirements
  2229.  
  2230.              This specifies a set of criteria that a router has to
  2231.              conform to.  There are two categories of criteria.  First,
  2232.  
  2233.  
  2234.  
  2235. Shenker, Clark, Zhang                                          [Page 38]
  2236.  
  2237.  
  2238.  
  2239.  
  2240. Internet Draft      Integrated Service Architecture         October 1993
  2241.  
  2242.  
  2243.              the routers must implement the interface used by the set-up
  2244.              protocol, and the admission control algorithm must support
  2245.              the appropriate set of queries.  Incorporated within this
  2246.              is something functionally equivalent to what is described
  2247.              in RFC 1363 [3], which describes the set of parameters
  2248.              handed to routers along the path of a flow. Second, the
  2249.              service delivered by the router must conform to certain
  2250.              standards; these standards are designed so that the service
  2251.              delivered by a heterogeneous set of conforming routers will
  2252.              obey the service model.   For guaranteed service, one might
  2253.              require that routers must approximate the WFQ "fluid
  2254.              model", as defined in [].  One can express the accuracy to
  2255.              which a router supports the fluid model with an error term
  2256.              which can be carried in the reservation interface as it is
  2257.              passed between routers and added up to compute the
  2258.              resulting end-to-end delay bounds.  We should note that
  2259.              this is just one example; there are other alternatives for
  2260.              specifying how to deliver guaranteed service.  For
  2261.              predictive service, the issue is much more difficult.  Here
  2262.              the performance depends crucially on the admission control
  2263.              algorithm [Note 14], and it is difficult to accurately
  2264.              characterize a measurement-based admission control
  2265.              algorithm.  We propose that the performance of such
  2266.              algorithms be characterized by their performance on various
  2267.              test suites.  These test suites will reveal not only the
  2268.              degree to which the delay bounds are met, but also the
  2269.              level of network utilization obtained (which depends on the
  2270.              behavior of the admission control algorithm).  How one
  2271.              defines and evaluates such test suites is an unexplored yet
  2272.              crucial issue.
  2273.  
  2274.  
  2275.  
  2276.  
  2277.  
  2278.  
  2279.  
  2280.  
  2281.  
  2282.  
  2283.  
  2284.  
  2285. _________________________
  2286. [Note 14] The guaranteed service depends on admission control  as  well,
  2287. but  for  guaranteed  service there is a clear correctness condition for
  2288. admission control.  There is no such  clear  correctness  condition  for
  2289. predictive admission control.
  2290.  
  2291.  
  2292.  
  2293.  
  2294. Shenker, Clark, Zhang                                          [Page 39]
  2295.  
  2296.